Our company has been looking for a Senior level SQL Server DBA, and the last (2) candidates have been lacking some basic performance tuning skills. During our interview, we have a SQL trace that we captured from our production environment that we play back for the candidates. This playback provides a hands on assesment of the candidates ability to perform basic SQL Server 2008 R2 performance tuning techniques. Both of these candidates have over (7) years experience with SQL Server 2000/2005/2008.

What's been surprising, is that these "Senior" level candidates were not even aware of SQL Server's "Activity Monitor" and basic use of "SQL Server Profiler", or the use of DMV's. I'm a mid-level SQL Server DBA with about 4 years experience on SQL Server 2000/2005/2008, and I should not be teaching these techniques to "Senior" level candidates. I know there are third party tools to assist in performance monitoring, but I believe you should be able to utilize SQL Server's toolset's such as DMV's first. There will be times when these third party tools will not be available when the "poop" hit's the fan, so relying on them solely as your performance tuning method is a bad idea in my book.

If I found a candidate that didn't know DMVs because he used a 3rd party tool I'd hire then in a second. I find more common they get the 'deer in headlights' look when the words 'performance monitoring' are event mentioned.

Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.

the last guy we interviewed we asked him how he would modify a query with a join to return all the rows from one table even if there were no matches, he fumbled around for 10 minute as it was apparent he was unaware of left-joins and even after a lot of hinting from us, we told him to use a left-join and he still couldn't even work out the syntax!

I think the problem is that we don't have any rating of what a senior DBA is. Is it someone that's been a DBA for 7 years? Because it's easy to get to that point without straining your brain to solve problems. Or perhaps because you had a job where not a lot broke.

There are good DBAs out there, but hopefully they're quickly employed. If you find someone that doesn't know this stuff, do you consider them a mid-level DBA and pay them less? Or keep searching?

Usualy a DBA does not work in "Project" mode, so once they start somewhere they usualy work there for some time (years).So in the end finding a SQL DBA is not an easy thing and the good known ones are constantly busy.

You have to be a little bit lucky and have some kind of test to make sure they are really what they say (your test is a very good idea), being a sql DBA is very broad, even developer who worked with SQL Server could say he's a DBA just because he think he know some SQL statement.

On top of your test i would add the good old Fizz Buzz, ask them to tune a single query on 2-3 tables (with an index with an include or two missing), backup and restore a DB, create 100 Logins (to see if he can automate things), nothing that couldn't be done in less than 5 mins and look how they do it.

If the guy end up with a rbar solution for FizzBuzz it wouldn't be too bad but one that ends up with a set based solution will have a nice bonus on the final review.Anyone doing a backup/restore with SSMS wizzard will have a (very) bad point (unless he uses it just to generate the script, then he's lazy -> good point).Anyone opening the books online will have a good point.Anyone creating more than 2 Logins without a script will have a bad point.Anyone tuning the query by not looking at IO and Time statistics and query plan would immediately fail.

With that kind of test it's kinda easy to see if someone is used to work with SQL Server full time or if it's just a hobby.

Sounds like a good interview technique. I prefer a hands-on approach to technical interviews over a "can he regurgitate BOL" technique.

And no, I'm not at all surprised about your results.

On the other hand, someone can be a very skilled DBA without being a skiller performance tuning expert. "DBA" covers WAY too much scope these days. Those 9-year vets might be experts at DR, architecture, security, even at CLR (.NET) coding, and be "senior DBAs" thereby, but not know about traces and such.

On your music analogy, would you refuse to hire a drummer because he doesn't know how to use a kettle drum, even though that might be the only drum on Earth he's not an expert at?

But, most likely, you're right. They've got no business calling themselves senior is the most likely answer.