• (cs)

    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

  • Oleg Bonobo (unregistered)

    Oh shit, they actually did notice I had no clue. But still, they payed me for three years...

  • Herwig (unregistered)

    This reminds me of that interview where the applicant was talking about his expertise on Mysol databases and how his skills are with Storage Procedures. But he prefers Virtual Basic and other programming languages like CC+, HTML2 and FTP... I think I met Ben a few years ago...

  • (cs)

    This is why I always put this on top of every script:

    USE <DATABASE_NAME> GO

    -- ALWAYS.

  • (cs) in reply to Quango
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    What could possibly go wrong?

  • (cs)

    <fart-joke>Tooting. Heh. Heh.</fart-joke>

  • Swedish tard (unregistered) in reply to ammoQ
    ammoQ:
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    What could possibly go wrong?

    Considering that the tool didnt even know what a CLI was, nevermind how to start it, I'd say the risk of him breaking something was next to none... Although, he COULD of course, by random chance, have typed in "DROP DATABASE"... But I'd say there is a greater chance of that happening by bit flips because of background radiation. ...

  • Pista (unregistered) in reply to Swedish tard
    Swedish tard:
    ammoQ:
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    What could possibly go wrong?

    Considering that the tool didnt even know what a CLI was, nevermind how to start it, I'd say the risk of him breaking something was next to none... Although, he COULD of course, by random chance, have typed in "DROP DATABASE"... But I'd say there is a greater chance of that happening by bit flips because of background radiation. ...

    Actually, I think that the moron is rather dangerous. He might have some scattered memories of SQL commands (like DELETE * FROM <dbName>) and he might try them once he gets a CLI (even if open by someone else). Considering that he doesn't have a freaking idea about what the command does, he will probably not hesitate to execute it.

  • Leo (unregistered)

    To continue the story:

    1. Maurice complained.
    2. Ben turned out to be the CEO's nephew.
    3. Maurice was fired.
  • (cs) in reply to Leo
    Leo:
    To continue the story:
    1. Maurice complained.
    2. Ben turned out to be the CEO's nephew.
    3. Maurice was fired.

    Probably legit.

  • Smug Unix User (unregistered)

    Look at it this way. He has no skills so you don't have to untrain him from his bad ways. Granted you could have hired a skilled employee, but now you are stuck with the one you've got. Step one give him some objectives and a time period. If he simply can't learn then it is time to talk to him about his future at another company. Don't let him near production for a long time, and code review everything with him.

  • (cs) in reply to Smug Unix User
    Smug Unix User:
    Look at it this way. He has no skills so you don't have to untrain him from his bad ways.
    The problem with that is Ben doesn't know he has no skills, and will most likely furiously resist any efforts to get that piece of information into his head.
  • (cs) in reply to Swedish tard
    Swedish tard:
    ammoQ:
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    What could possibly go wrong?

    Considering that the tool didnt even know what a CLI was, nevermind how to start it, I'd say the risk of him breaking something was next to none... Although, he COULD of course, by random chance, have typed in "DROP DATABASE"... But I'd say there is a greater chance of that happening by bit flips because of background radiation. ...

    I've seen it happen.

  • Geoff (unregistered) in reply to Quango
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    yea that was my first thought too. I have had interns who were super exited to work on datacenter infrastructure servers and such. You also make them show you that have some basic trouble shooting skills and common sense around scope an impact first. Usually let work on some, most likely to be, client side issues escalated up from the helpdesk team first; or issues on some very low impact machines. Perhaps have them do some research for you; to see if they ask the the right followup questions. Only then if satisfied do you give them access to PRD.

    Maurice is crazy.

  • Anonymous (unregistered)

    I know a DBA liek that...

    After his select count Ben realized the database had a single record but didn't figured why this record was taking so much space...

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered)

    TRWTF is any "development" environment with the word "Studio" in its name. Amirite?

  • Anon (unregistered) in reply to ¯\(°_o)/¯ I DUNNO LOL

    No

  • Anonymous Paranoiac (unregistered) in reply to Remy Porter
    Remy Porter:
    <fart-joke>Tooting. Heh. Heh.</fart-joke>

    Should I admit to giving serious thought as to whether I should view source on Remy's comment?

    CAPTCHA: saluto - I saluto Remy's talent in training programmers to view source.

  • shane (unregistered)

    But was he master of his own domain?

  • (cs)

    Database master, Master database, same thing, right?

  • (cs) in reply to Geoff
    Geoff:
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    yea that was my first thought too. I have had interns who were super exited to work on datacenter infrastructure servers and such. You also make them show you that have some basic trouble shooting skills and common sense around scope an impact first. Usually let work on some, most likely to be, client side issues escalated up from the helpdesk team first; or issues on some very low impact machines. Perhaps have them do some research for you; to see if they ask the the right followup questions. Only then if satisfied do you give them access to PRD.

    Maurice is crazy.

    Why is everyone assuming Maurice was crazy enough to give Ben update access to the database? I wouldn't.

    Of course, he could still do things like this...

    SELECT * FROM BILLION_ROW_TABLE A JOIN BILLION_ROW_TABLE B ON 1 = 1

    ...but that's not a permanent change...

  • Mr. Bob (unregistered) in reply to Coyne
    Coyne:
    Geoff:
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    yea that was my first thought too. I have had interns who were super exited to work on datacenter infrastructure servers and such. You also make them show you that have some basic trouble shooting skills and common sense around scope an impact first. Usually let work on some, most likely to be, client side issues escalated up from the helpdesk team first; or issues on some very low impact machines. Perhaps have them do some research for you; to see if they ask the the right followup questions. Only then if satisfied do you give them access to PRD.

    Maurice is crazy.

    Why is everyone assuming Maurice was crazy enough to give Ben update access to the database? I wouldn't.

    Of course, he could still do things like this...

    SELECT * FROM BILLION_ROW_TABLE A JOIN BILLION_ROW_TABLE B ON 1 = 1

    ...but that's not a permanent change...

    Not permanent until he remembers the second and last SQL command he knows:

    COMMIT

  • (cs) in reply to Anarud
    Anarud:
    This is why I always put this on top of every script:

    USE <DATABASE_NAME> GO

    -- ALWAYS.

    Smart person is using Oracle!

  • (cs) in reply to ¯\(°_o)/¯ I DUNNO LOL
    ¯\(°_o)/¯ I DUNNO LOL:
    TRWTF is any "development" environment with the word "Studio" in its name. Amirite?

    You are wrong.

  • Mike (unregistered)

    Why would a COMMIT after a SELECT do permanent damage?

    I am more worried about the database performance. Doing zich an exploratory query on a production environment is never a good idea.

  • Stabbitha (unregistered) in reply to ¯\(°_o)/¯ I DUNNO LOL

    Are you referring to Visual Studio, the Cadillac of IDEs? Are you one of those "elitists" who spends 4x as long as necessary writing programs in Vim?

  • (cs) in reply to ¯\(°_o)/¯ I DUNNO LOL
    ¯\(°_o)/¯ I DUNNO LOL:
    TRWTF is any "development" environment with the word "Studio" in its name. Amirite?

    TRWTF was that you thought that was a clever thing to post.

  • Calli Arcale (unregistered) in reply to Swedish tard
    Swedish tard:
    ammoQ:
    Quango:
    So, Maurice let someone who does not know how to open a command prompt loose on a live database. He is the WTF, not Ben.

    What could possibly go wrong?

    Considering that the tool didnt even know what a CLI was, nevermind how to start it, I'd say the risk of him breaking something was next to none... Although, he COULD of course, by random chance, have typed in "DROP DATABASE"... But I'd say there is a greater chance of that happening by bit flips because of background radiation. ...

    Never underestimate the ingenuity of the common fool. That which is statistically impossible by chance alone will happen in under thirty minutes when given to a sufficiently high-grade fool.

  • (cs) in reply to ammoQ

    "The first thing to do," Ben said, firing up Management Studio, "is determine just how much information is actually in here. To take the database's pulse, as I like to say. We'll just count the total number of records."

    • I was hoping that the story would end with Ben claiming the problem was too many records, and dropping a bunch of data
  • Rodrigo (unregistered) in reply to PedanticCurmudgeon
    PedanticCurmudgeon:
    Smug Unix User:
    Look at it this way. He has no skills so you don't have to untrain him from his bad ways.
    The problem with that is Ben doesn't know he has no skills, and will most likely furiously resist any efforts to get that piece of information into his head.
    This is quite true. Indeed, helping junior devs or interns is a pleasant task; but when the JUNIOR has 5 years of experience and is hired as SENIOR the situation becomes complicated.
  • (cs)

    So today's WTF is "HR did not perform any tests on new candidates. Turned out to be a bad idea."

    While factored into a lengthy story, the following questions are left open:

    • In which position of power was Maurice over Ben? Several posters assume Maurice is to blame for giving him access to a production system, but what if he already had that access, as it was part of his job?
    • What was the reason causing the branch office couldn't access the main application?
    • Why was Ben incapable of writing the simplest SQL query, but was able to speed-up a complex report?
    • Did anyone check that the report still returned correct (or any) data before deploying it into production?
    • What was the reason for the database's growth pattern?
    • What was the future of Ben (and Maurice) at that company?
    • What happened to the president's sick daughter?
    • Who-the-fuck names a server RHODODENDRON?
    • "You open the command prompt and type ping RHODODENDRON". Why is this not followed with a pun about PINK RHODODENDRON?
  • (cs) in reply to no laughing matter
    no laughing matter:
    * Who-the-fuck names a server RHODODENDRON?
    That was one of my first questions when reading the story. And, being a terrible speller, I would have smacked the person who named it since it would be easier for me to remember the server's IP address than how to spell "Rhododendron".
  • instigator (unregistered) in reply to Mr. Bob
    Mr. Bob:
    Not permanent until he remembers the second and last SQL command he knows:
    COMMIT

    I don't think you understand what that command does.

  • (cs) in reply to Geoff
    Geoff:
    I have had interns who were super exited to work on datacenter infrastructure servers and such.
    A super exit is indeed the best way to deal with such employees.
  • (cs)

    I met a guy once who proceeded to try and impress me with his tale of propagating all his databases directly into DNS....

  • (cs) in reply to Remy Porter
    Remy Porter:
    <fart-joke>Tooting. Heh. Heh.</fart-joke>

    Thank you for not cornifying that one.

  • (cs)

    TRWTF is "HR sent ...." So nobody technical interviewed this guy? Who approved hiring him? and so on. HR does lots of very stupid, and bad, things, but in most companies they don't make hiring decisions.

  • (cs) in reply to Mike
    Mike :
    Why would a COMMIT after a SELECT do permanent damage?

    I am more worried about the database performance. Doing zich an exploratory query on a production environment is never a good idea.

    +1

    Easy way to bring the DB to a halt. Especially since it's not properly configured, seeing as how that company hires the likes of Ben.

  • nimis (unregistered)

    Management studio is getting to be TRWTF (tm). I mean what numbnuts product manager up in Redmond decided that the tool needs to ask for all queries to be saved? I mean, I am as proud of myself as anyone for typing in 'sp_help tablename', but do I really want to treasure this intricate piece of code forever and ever?

    And my favoritest feature of all has to be the inability of Management Studio to open the same file twice. I know, I know comparing the outputs of two very similar queries (like one on QA and one on production) is something that no one would ever think of doing.

  • (cs) in reply to nimis
    nimis:
    Management studio is getting to be TRWTF (tm). I mean what numbnuts product manager up in Redmond decided that the tool needs to ask for all queries to be saved? I mean, I am as proud of myself as anyone for typing in 'sp_help tablename', but do I really want to treasure this intricate piece of code forever and ever?

    And my favoritest feature of all has to be the inability of Management Studio to open the same file twice. I know, I know comparing the outputs of two very similar queries (like one on QA and one on production) is something that no one would ever think of doing.

    Because Ctrl+S, Ctrl+C, Ctrl+V, etc...are too hard. :facepalm:

  • (cs) in reply to cellocgw
    cellocgw:
    TRWTF is "HR sent ...." So nobody technical interviewed this guy? Who approved hiring him? and so on.
    Sean approved him, but they only spoke Elbonian in the interview.
  • (cs) in reply to chubertdev
    chubertdev:
    nimis:
    [...] I know, I know comparing the outputs of two very similar queries (like one on QA and one on production) is something that no one would ever think of doing.

    Because Ctrl+S, Ctrl+C, Ctrl+V, etc...are too hard. :facepalm:

    Seriously? Copy a 1-billion row output from production and paste it into another file so it can be compared to the test output?

    Man, I want to see the price tag on the system that has enough memory to have a clipboard that will handle that cut and paste...

    __________

    "Cut and paste is not the solution you are looking for!" -Obi-Wan Kenobi

  • jay (unregistered) in reply to Bruce W
    Bruce W:
    no laughing matter:
    * Who-the-fuck names a server RHODODENDRON?
    That was one of my first questions when reading the story. And, being a terrible speller, I would have smacked the person who named it since it would be easier for me to remember the server's IP address than how to spell "Rhododendron".

    Hey, this gives me some ideas about security. Give objects names that are hard to spell. That should at least slow people down.

  • jay (unregistered)

    In my humble opinion, any interactive query tool should at least have a warning if you attempt to execute a delete or update without a where clause. I wish they were required by the syntax. I'd rather have to type "delete from mytable where 1=1" for the rare case where I really do want to delete all the records, then to have it accept "delete from mytable" without question. I've had times where I've gotten distracted and forgot to type in the where clause.

  • jay (unregistered)

    It's possible that he managed to bluff his way through the interview.

    I was once involved in hiring a guy who sounded great in the interview. He was able to talk at length about the pros and cons of different database engines, describe various languages and IDEs, etc. But once we hired him, it turned out that his knowledge was all, well, theoretical. Like he had read lots of articles about different technologies but never actually learned how to use them.

    If we had given him a quiz during the interview where he actually had to write some code, we would have seen the problem. But we didn't do that.

  • Sociopath (unregistered) in reply to Stabbitha
    Stabbitha:
    Are you referring to Visual Studio, the Cadillac of IDEs? Are you one of those "elitists" who spends 4x as long as necessary writing programs in Vim?
    I haven't touched a Microsoft product since they tried to "Kill cross-platform Java by grow[ing] the polluted Java market." with their inbred Microsoft Java Virtual Machine.

    Microsoft gave poisoned-well tools to their developers. I respect the business strategy of handing out poisoned kool-aid to your competitors, but I know better than to drink it myself.

  • (cs) in reply to jay
    jay:
    In my humble opinion, any interactive query tool should at least have a warning if you attempt to execute a delete or update without a where clause. I wish they were required by the syntax. I'd rather have to type "delete from mytable where 1=1" for the rare case where I really do want to delete all the records, then to have it accept "delete from mytable" without question. I've had times where I've gotten distracted and forgot to type in the where clause.

    I understand where you're coming from, but I gotta say transactions are your best friends if you need to work with a DB but aren't a full time DBA.

  • (cs) in reply to Stabbitha
    Stabbitha:
    Are you referring to Visual Studio, the Cadillac of IDEs? Are you one of those "elitists" who spends 4x as long as necessary writing programs in Vim?

    He is attention seeking parson.

  • (cs) in reply to JoeCool
    JoeCool:
    "The first thing to do," Ben said, firing up Management Studio, "is determine just how much information is actually in here. To take the database's pulse, as I like to say. We'll just count the total number of records."
    • I was hoping that the story would end with Ben claiming the problem was too many records, and dropping a bunch of data

    Not dropping, just making partition and moving that data to that partition. always speeds up stuff. also recreation of all indexes is good die.

  • (cs) in reply to Coyne
    Coyne:
    chubertdev:
    nimis:
    [...] I know, I know comparing the outputs of two very similar queries (like one on QA and one on production) is something that no one would ever think of doing.

    Because Ctrl+S, Ctrl+C, Ctrl+V, etc...are too hard. :facepalm:

    Seriously? Copy a 1-billion row output from production and paste it into another file so it can be compared to the test output?

    Man, I want to see the price tag on the system that has enough memory to have a clipboard that will handle that cut and paste...

    __________

    "Cut and paste is not the solution you are looking for!" -Obi-Wan Kenobi

    Right-click, Save Results As...

    I can't help it if you suck with an IDE.

Leave a comment on “The Database Master”

Log In or post as a guest

Replying to comment #:

« Return to Article