This editorial was originally published on Feb 13, 2008. It is being re-run as Steve is returning from the PASS Summit.
I have come competition here with my daily editorial. If any of you get the SQL Server Performance newsletter, you might have noticed that Peter Ward is now writing daily over there. He's a nice bloke from down under, a fellow MVP, and he has some interesting things to say. He's a bit more focused than I am and if you have the chance to hear him speak, it's worth it. He gives some nice presentations.
I noticed the other day that he was talking about how he uses ALT-X to execute SQL queries, while most other people click "Execute" or click CTRL-E. I can't help but think even more highly of Peter since I've used ALT-X for over a decade and know it's the best way to do this. :)
His discusion wasn't on executing queries, but on the fact that there are many ways to accomplish tasks in SQL Server. For example, you could audit by placing triggers on every table, capturing the inserted/deleted information, and storing it in a table. Or you could run Profiler forever and ever, making sure you have a system in place to manage those files. Or you could rewrite your code to use the OUTPUT clause. Or wait for Change Data Capture in SQL Server 2008.
All of these are valid, and there might be good reasons why you'd pick one over the others in your environment, but which one should you look to? What about many of the other possible ways of doing things in SQL Server? Should you look to rebuild or reorganize indexes by default? There are any number of tasks you need to accomplish and, often for people less experienced in one area, it seems either of a few ways is acceptable.
I certainly wouldn't want to remove options and limit a DBA to developer to one way to do things in most cases. I think the richness of SQL Server, which is always growing, allows it to scale and handle a wider variety of tasks than ever before.
However I think that often the overwhelming number of choices can lead to a paralysis of choice for some people. Or confusion about what to do or what makes sense. Present my daughter with 2 candy machines and she can pick the one she wants in an instance. Take her into a 7-11 with an aisle of candy and I'm still standing there 15 minutes later waiting on a decision if I haven't forced the issue.
I think that one area of improvement that could really help with many of the possible choices for completing a task is to have some strong guidance from Microsoft (based on customer pilot testing and the reasons for implementing a feature) that would explain what the defaults should be. And would have those defaults set up as the default choices or actions for the product.
Those of us with reasons to make changes can, and will do so. But those that don't know what to do would have more guidance right out of the box.
BTW - No offense intended to the cat-people out there.
The Voice of the DBA Podcasts
The podcast feeds are now available at sqlservercentral.podshow.com to get better bandwidth and maybe a little more exposure :). Comments are definitely appreciated and wanted, and you can get feeds from there.
Overall RSS Feed: or now on iTunes!
Today's podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.
I really appreciate and value feedback on the podcasts. Let us know what you like, don't like, or even send in ideas for the show. If you'd like to comment, post something here. The boss will be sure to read it.