SQL DBA high ended question (5+ years’ experience)

  • I'm thinking about the original post and I think I'd ask questions like this:

    It's Wednesday. 3 people walk up to your cube. One is from the QA team, one is from the reporting team, and one is a business user. The QA person says she needs you to restore a database down to the QA environment immediately so she can finish testing Management's High Priority Release by the end of the week. The reporting team person says the financial reports that worked yesterday are failing this morning. The business user says the new feature released last night "doesn't work."

    What is your first response to these 3?

    In what order do you prioritize these requests and why?

    Is there anything else you would do besides priorizing these requests?

    EDIT: Is it sad that I'm basing these questions on stuff that actually happens to me?

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Ed Wagner (8/11/2014)


    GilaMonster (8/11/2014)


    paul.knibbs (8/11/2014)


    Jeff Moden (8/9/2014)

    With the understanding you have of that counting problem and the additional understanding that I don't ask "trick" questions or questions based on trivia, explain or even speculate on what this method could be used for.

    I would imagine that you're doing this to populate a tally table--I know those are a thing that can be used to make various T-SQL tasks easier and faster, although I can't actually think of an example of using one off the top of my head.

    Give me totals for each day, include the days where there were no rows at all.

    Split a delimited list of values into a table for an injection-proof query.

    Not making my list as it has little relevance to the original question unless the backups are in a CSV format.

    😎

  • Brandie Tarvin (8/15/2014)


    GilaMonster (8/11/2014)


    paul.knibbs (8/11/2014)


    Jeff Moden (8/9/2014)

    With the understanding you have of that counting problem and the additional understanding that I don't ask "trick" questions or questions based on trivia, explain or even speculate on what this method could be used for.

    I would imagine that you're doing this to populate a tally table--I know those are a thing that can be used to make various T-SQL tasks easier and faster, although I can't actually think of an example of using one off the top of my head.

    Give me totals for each day, include the days where there were no rows at all.

    Give me row identifiers for a Time table (like DimTime for a data warehouse). Or enable me to scrub personal / potentially private information in a database I'm restoring down to a test environment (such as fake bank account numbers).

    Or push a load onto a test server to check a query's performance or even leave an open-ended transaction while I mess with other code to see what kind of locks / blocks / performance issues I get.

    I can come up with all sorts of reasons. Including "my kitchen timer broke and this is the only method I have for timing my cookies".

    Heh... My answer to that would be... "You're hired. Bring cookies every Monday." 😛

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (8/15/2014)


    Brandie Tarvin (8/15/2014)


    GilaMonster (8/11/2014)


    paul.knibbs (8/11/2014)


    Jeff Moden (8/9/2014)

    With the understanding you have of that counting problem and the additional understanding that I don't ask "trick" questions or questions based on trivia, explain or even speculate on what this method could be used for.

    I would imagine that you're doing this to populate a tally table--I know those are a thing that can be used to make various T-SQL tasks easier and faster, although I can't actually think of an example of using one off the top of my head.

    Give me totals for each day, include the days where there were no rows at all.

    Give me row identifiers for a Time table (like DimTime for a data warehouse). Or enable me to scrub personal / potentially private information in a database I'm restoring down to a test environment (such as fake bank account numbers).

    Or push a load onto a test server to check a query's performance or even leave an open-ended transaction while I mess with other code to see what kind of locks / blocks / performance issues I get.

    I can come up with all sorts of reasons. Including "my kitchen timer broke and this is the only method I have for timing my cookies".

    Heh... My answer to that would be... "You're hired. Bring cookies every Monday." 😛

    I'd probably ask to use WAITFOR DELAY next time to prevent under or overcooking 😀

    Luis C.
    General Disclaimer:
    Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?

    How to post data/code on a forum to get the best help: Option 1 / Option 2
  • Brandie Tarvin (8/15/2014)


    It's Wednesday. 3 people walk up to your cube. One is from the QA team, one is from the reporting team, and one is a business user. The QA person says she needs you to restore a database down to the QA environment immediately so she can finish testing Management's High Priority Release by the end of the week. The reporting team person says the financial reports that worked yesterday are failing this morning. The business user says the new feature released last night "doesn't work."

    EDIT: Is it sad that I'm basing these questions on stuff that actually happens to me?

    No, welcome to my world(s). Is it bad that my first question is to the reporting team guy: "Which reports, and what's their SLA's?" while asking the QA person to email me the ticket number while getting the automated restore script ready? The poor business user probably feels like he's ignored... but that's only because I haven't shipped him to the app guys yet to get me an error message I can actually use.


    - Craig Farrell

    Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

    For better assistance in answering your questions[/url] | Forum Netiquette
    For index/tuning help, follow these directions.[/url] |Tally Tables[/url]

    Twitter: @AnyWayDBA

  • Evil Kraig F (8/15/2014)


    Is it bad that my first question is to the reporting team guy: "Which reports, and what's their SLA's?" while asking the QA person to email me the ticket number while getting the automated restore script ready? The poor business user probably feels like he's ignored... but that's only because I haven't shipped him to the app guys yet to get me an error message I can actually use.

    That would be mostly my response as well. The QA guy is the only one I can help with that little info. I'd also probably be drafting a mail to Change Control asking for the details on what was deployed the previous night and checking to see which of the other DBAs is least busy to delegate one of these problems to.

    And what does the finance guy mean by 'failing'? Giving an error or off by a few rands?

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Evil Kraig F (8/15/2014)


    Brandie Tarvin (8/15/2014)


    It's Wednesday. 3 people walk up to your cube. One is from the QA team, one is from the reporting team, and one is a business user. The QA person says she needs you to restore a database down to the QA environment immediately so she can finish testing Management's High Priority Release by the end of the week. The reporting team person says the financial reports that worked yesterday are failing this morning. The business user says the new feature released last night "doesn't work."

    EDIT: Is it sad that I'm basing these questions on stuff that actually happens to me?

    No, welcome to my world(s). Is it bad that my first question is to the reporting team guy: "Which reports, and what's their SLA's?" while asking the QA person to email me the ticket number while getting the automated restore script ready? The poor business user probably feels like he's ignored... but that's only because I haven't shipped him to the app guys yet to get me an error message I can actually use.

    This is the real world and exactly the kind of stuff that separates the men from the boys. Add a twist of billing, reconciliation, MIS, system upgrade gone wrong, critical system failures, compliance issues and end of financial year turmoil and sadly enough, we are close to a norm.

    😎

  • Evil Kraig F (8/15/2014)


    Brandie Tarvin (8/15/2014)


    It's Wednesday. 3 people walk up to your cube. One is from the QA team, one is from the reporting team, and one is a business user. The QA person says she needs you to restore a database down to the QA environment immediately so she can finish testing Management's High Priority Release by the end of the week. The reporting team person says the financial reports that worked yesterday are failing this morning. The business user says the new feature released last night "doesn't work."

    EDIT: Is it sad that I'm basing these questions on stuff that actually happens to me?

    No, welcome to my world(s). Is it bad that my first question is to the reporting team guy: "Which reports, and what's their SLA's?" while asking the QA person to email me the ticket number while getting the automated restore script ready? The poor business user probably feels like he's ignored... but that's only because I haven't shipped him to the app guys yet to get me an error message I can actually use.

    Those are good answers, though I would be looking for you to ask the business user what he means by "doesn't work' and does he have a screen shot of the problem yet.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • GilaMonster (8/15/2014)


    Evil Kraig F (8/15/2014)


    Is it bad that my first question is to the reporting team guy: "Which reports, and what's their SLA's?" while asking the QA person to email me the ticket number while getting the automated restore script ready? The poor business user probably feels like he's ignored... but that's only because I haven't shipped him to the app guys yet to get me an error message I can actually use.

    That would be mostly my response as well. The QA guy is the only one I can help with that little info. I'd also probably be drafting a mail to Change Control asking for the details on what was deployed the previous night and checking to see which of the other DBAs is least busy to delegate one of these problems to.

    And what does the finance guy mean by 'failing'? Giving an error or off by a few rands?

    You're hired! When can you start?

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Here are few examples.

    What is the diff btw mirroring and logshipping.

    How logshipping will work internally?

    What is replication

    what is maxdop

    how to troubleshoot long running queries.

    how to resolve blocking issue.

    Migration Steps.

    What is your change process

    What is your maintanance plan

    What is failover cluster

    How to add disk to failover cluster

    If a server is down what will you do?

    What is memory pressure?

    Resource governor

    Policy based mangement.

    and so on

    Regards,
    SAM
    ***Share your knowledge.It’s a way to achieve immortality----Dalai Lama***

  • Evil Kraig F (8/15/2014)


    Brandie Tarvin (8/15/2014)


    It's Wednesday. 3 people walk up to your cube. One is from the QA team, one is from the reporting team, and one is a business user. The QA person says she needs you to restore a database down to the QA environment immediately so she can finish testing Management's High Priority Release by the end of the week. The reporting team person says the financial reports that worked yesterday are failing this morning. The business user says the new feature released last night "doesn't work."

    EDIT: Is it sad that I'm basing these questions on stuff that actually happens to me?

    No, welcome to my world(s). Is it bad that my first question is to the reporting team guy: "Which reports, and what's their SLA's?" while asking the QA person to email me the ticket number while getting the automated restore script ready? The poor business user probably feels like he's ignored... but that's only because I haven't shipped him to the app guys yet to get me an error message I can actually use.

    Heh... I love rapid fire "triage". Here's what I'd tell an interviewer of how similar "sessions" have gone for me in the past.

    (Knowing I have a production problem that I have to fix NOW and the fact that I have a meeting in 30 minutes that I CAN'T MISS, I begin to speak...)

    Ok, QA (I actually know all these people by first name but you get the idea)... you're up first (as I turn to the keyboard to check the release notes for areas changed by the release and also look for recent changes to the problematic report). We have 4 major projects currently in QA and, since they're all mutually exclusive because of the nature of the test data for each, we have 4 active databases currently and actively in play on the QA box. Because of this "crunch", we're also out of disk space on the QA box and we don't have the room for another instance of the database you're asking for. However, not to worry (turning in my chair to face the QA person because I finished checking)... you don't actually have to wait for anything. I'm familiar with the requirements of the urgent project you speak of and it's not mutually exclusive to the "insert project name here" project in progress. Please use that database for QA of your project and let me know if you run into any problems especially in the area of privs. I do know that all of the procs have already been peer reviewed and put into a production wrapper. I can promote the database code (quickly writing a schedule out in my head) at 12:30 today. I just need you to have the QA Manager update the ticket for the project saying that it's ok for me to promote the code (this QA person already knew that but is a bit of a prima-donna and frequently needs to be reminded, so I did so gently. I do actually love the folks in QA. They all do an incredible and thankless job).

    Business user, you're next (recalling what I just saw on the screen). The release was mostly a front-end change done by the WebDev group and the fully peer reviewed and tested changes to the database weren't in the area that you just spoke of (I knew that without looking at the screen because I'm the one that did the peer reviews and promoted the code last night). I'm not putting you off. I just can't help you and it would be a waste of your valuable time for me to try. Please go see the Dev Manager and she'll be happy to help (I work closely with the Dev manager and know that's true). According to the emails I've seen this morning, she might already be aware of the problem and working on a fix but, if it's a new problem and since company policy mandates that all such problems be tracked for SOX and SEC auditing, you'll need to open a ticket, in that case. Make sure that you include some screen shots of the problem with a step-by-step description of the steps that led to the problem along with any screen shots of any error messages so that her team can quickly identify and resolve the problem as soon as possible. Understand that it was a huge release and she may be fire-fighting other problems, as well.

    Reporting person, I'm currently working on an urgent production problem and I have a required planning meeting for the new telephone system database in 30 minutes. That meeting can't be rescheduled because 3rd parties are involved and I need to resolve this production problem before that. Please come back at 11:30 (mentally allowing an extra half hour in case the meeting runs late like such meetings usually do) this morning and I'll have you pull up a chair so you can show me the problem. In the meantime, gather up as much information as you can about the problem because (again, recalling what I just checked on screen), according to my records, none of the procs, tables, or the report generator for the report you speak of have changed for at least a month. Again, not putting you off. Your problem is important to me and we'll solve it. I just can't get to it until 11:30.

    (I turn back to the keyboard to return to working on the production problem and look in my rear view mirror to see 3 people standing there with their jaws hanging. I turn in my chair to face them with a big ol' patented Jeff Moden smile and gently say...) C'mon folks... all 4 of us have deadlines here. You know what to do and I [font="Arial Black"]HAVE [/font]to fix this production problem or we're all dead meat. (They all leave because we've been through stuff like this before and they trust me, I fix the production problem in about 15 minutes (I knew what the problem was thanks to the "Morning Report" proc I had written), send out a notification that the problem has been repaired, gather up the handouts I made last night for the telephone meeting, and get there on time even after a quick stop to refill my 32 gallon coffee mug and another quick stop by the little boy's room to make room for more... it IS going to be a long meeting).

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (8/16/2014)


    Evil Kraig F (8/15/2014)


    Brandie Tarvin (8/15/2014)


    It's Wednesday. 3 people walk up to your cube. One is from the QA team, one is from the reporting team, and one is a business user. The QA person says she needs you to restore a database down to the QA environment immediately so she can finish testing Management's High Priority Release by the end of the week. The reporting team person says the financial reports that worked yesterday are failing this morning. The business user says the new feature released last night "doesn't work."

    EDIT: Is it sad that I'm basing these questions on stuff that actually happens to me?

    No, welcome to my world(s). Is it bad that my first question is to the reporting team guy: "Which reports, and what's their SLA's?" while asking the QA person to email me the ticket number while getting the automated restore script ready? The poor business user probably feels like he's ignored... but that's only because I haven't shipped him to the app guys yet to get me an error message I can actually use.

    Heh... I love rapid fire "triage". Here's what I'd tell an interviewer of how similar "sessions" have gone for me in the past.

    (Knowing I have a production problem that I have to fix NOW and the fact that I have a meeting in 30 minutes that I CAN'T MISS, I begin to speak...)

    Ok, QA (I actually know all these people by first name but you get the idea)... you're up first (as I turn to the keyboard to check the release notes for areas changed by the release and also look for recent changes to the problematic report). We have 4 major projects currently in QA and, since they're all mutually exclusive because of the nature of the test data for each, we have 4 active databases currently and actively in play on the QA box. Because of this "crunch", we're also out of disk space on the QA box and we don't have the room for another instance of the database you're asking for. However, not to worry (turning in my chair to face the QA person because I finished checking)... you don't actually have to wait for anything. I'm familiar with the requirements of the urgent project you speak of and it's not mutually exclusive to the "insert project name here" project in progress. Please use that database for QA of your project and let me know if you run into any problems especially in the area of privs. I do know that all of the procs have already been peer reviewed and put into a production wrapper. I can promote the database code (quickly writing a schedule out in my head) at 12:30 today. I just need you to have the QA Manager update the ticket for the project saying that it's ok for me to promote the code (this QA person already knew that but is a bit of a prima-donna and frequently needs to be reminded, so I did so gently. I do actually love the folks in QA. They all do an incredible and thankless job).

    Business user, you're next (recalling what I just saw on the screen). The release was mostly a front-end change done by the WebDev group and the fully peer reviewed and tested changes to the database weren't in the area that you just spoke of (I knew that without looking at the screen because I'm the one that did the peer reviews and promoted the code last night). I'm not putting you off. I just can't help you and it would be a waste of your valuable time for me to try. Please go see the Dev Manager and she'll be happy to help (I work closely with the Dev manager and know that's true). According to the emails I've seen this morning, she might already be aware of the problem and working on a fix but, if it's a new problem and since company policy mandates that all such problems be tracked for SOX and SEC auditing, you'll need to open a ticket, in that case. Make sure that you include some screen shots of the problem with a step-by-step description of the steps that led to the problem along with any screen shots of any error messages so that her team can quickly identify and resolve the problem as soon as possible. Understand that it was a huge release and she may be fire-fighting other problems, as well.

    Reporting person, I'm currently working on an urgent production problem and I have a required planning meeting for the new telephone system database in 30 minutes. That meeting can't be rescheduled because 3rd parties are involved and I need to resolve this production problem before that. Please come back at 11:30 (mentally allowing an extra half hour in case the meeting runs late like such meetings usually do) this morning and I'll have you pull up a chair so you can show me the problem. In the meantime, gather up as much information as you can about the problem because (again, recalling what I just checked on screen), according to my records, none of the procs, tables, or the report generator for the report you speak of have changed for at least a month. Again, not putting you off. Your problem is important to me and we'll solve it. I just can't get to it until 11:30.

    (I turn back to the keyboard to return to working on the production problem and look in my rear view mirror to see 3 people standing there with their jaws hanging. I turn in my chair to face them with a big ol' patented Jeff Moden smile and gently say...) C'mon folks... all 4 of us have deadlines here. You know what to do and I [font="Arial Black"]HAVE [/font]to fix this production problem or we're all dead meat. (They all leave because we've been through stuff like this before and they trust me, I fix the production problem in about 15 minutes (I knew what the problem was thanks to the "Morning Report" proc I had written), send out a notification that the problem has been repaired, gather up the handouts I made last night for the telephone meeting, and get there on time even after a quick stop to refill my 32 gallon coffee mug and another quick stop by the little boy's room to make room for more... it IS going to be a long meeting).

    And you have just described my office to a "T." It's amazing how people in our office forget that production systems are always the priority. And how often they assume the first IT person they walk up to is the one who can solve their problem.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Brandie Tarvin (8/16/2014)


    Those are good answers, though I would be looking for you to ask the business user what he means by "doesn't work' and does he have a screen shot of the problem yet.

    Sometimes getting the user to elaborate on "doesn't work" can take the best part of a day. :crazy:

    qh

    [font="Tahoma"]Who looks outside, dreams; who looks inside, awakes. – Carl Jung.[/font]
  • quackhandle1975 (8/18/2014)


    Brandie Tarvin (8/16/2014)


    Those are good answers, though I would be looking for you to ask the business user what he means by "doesn't work' and does he have a screen shot of the problem yet.

    Sometimes getting the user to elaborate on "doesn't work" can take the best part of a day. :crazy:

    qh

    So true! Also, they can rarely tell you when it last did work.

  • quackhandle1975 (8/18/2014)


    Brandie Tarvin (8/16/2014)


    Those are good answers, though I would be looking for you to ask the business user what he means by "doesn't work' and does he have a screen shot of the problem yet.

    Sometimes getting the user to elaborate on "doesn't work" can take the best part of a day. :crazy:

    qh

    +10

    That's part of why I love screenshots.

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events

Viewing 15 posts - 76 through 89 (of 89 total)

You must be logged in to reply to this topic. Login to reply