Like many people, I’ve written about and advocated best practices for most of my career. Last week, the SQL Server Manageability team announced its “Independence Day” with the just-released and improved SQL Server 2005 Best Practices Analyzer (BPA). For more information about the SQL Server 2005 BPA, see Paul Mestemaker’s blog at http://blogs.msdn.com/sqlrem/archive/tags/SQL+Server+Best+Practices+Analyzer+Tool/default.aspx .
The first BPA shipped several years ago for SQL Server 2000. It was a useful tool, but it had several shortcomings that reduced its usefulness as a comprehensive tool to help customers find and fix best practices–related problems with their databases. However, Rome wasn’t built in a day, and, as we all know, it sometimes takes Microsoft (and all software vendors, to be fair) a few tries to get its products right. The latest version of the tool is a nice improvement from previous versions and can be downloaded from http://www.microsoft.com/downloads/details.aspx?familyid=da0531e4-e94c-4991-82fa-f0e3fbd05e63. Interestingly enough, I don’t want to talk about the actual features in the SQL Server 2005 BPA this week. I’ll cover the tool's features and practical usage in the near future. Instead, I want to focus on some comments that Mestemaker made in his blog about a change in direction for the tool that I think is wonderful and will reap huge benefits for the SQL Server community if Microsoft follows through. The following is an excerpt from Mestemaker's recent blog entry:
“This week we celebrate independence. No, I'm not referring to Independence Day in the United States. I'm announcing the official release of SQL Server 2005 Best Practices Analyzer as an independently serviceable tool.What do I mean by independently serviceable? Software is a rapidly changing industry. The products that we produce, the scenarios that we enable, and the expectations from our customers all change very quickly. As all of these change, so do our recommendations and best practices. When we learn something new, it is important to have an open channel to the customers to share this knowledge. We will be using SQL BPA as one of the primary channels to communicate our knowledge to our broad customer base. The SQL Server Customer and Partner team is dedicated to learning about how real world customers use our products to power their businesses and sharing this information with the community. They have released a number of white papers and blog posts. Starting this week, I will be transitioning from the SQL Server Manageability Team to the SQL Server Customer and Partner team. I will take their real-world experience and knowledge and turn it into a set of rules for BPA. The new BPA rules will be released independently from Service Packs so that we can help the community with the products currently available without requiring any change to your environment.”
Is that information really as earth shattering as I hint at above? Yes, and here’s why. You might not know it, but Microsoft has several elite teams of service-oriented professionals that are technically part of the SQL Server product team but operate in a more services-oriented model than the folks who actually write the code for SQL Server. These teams collect massive amounts of really cool information about SQL Server, with much of it being best practices–oriented. Historically, Microsoft has done a bad job of ensuring this information is acted on by rank and file SQL Server customers. However, Microsoft has done a much better job over the past few years of publishing best practices information. You can lead a horse to water, but you can't make him drink (or so the adage goes) and you can’t make a SQL Server DBA read about best practices and be prepared to follow them. This topic ties into the information overload theme that I touched on last week. There’s simply too much best practices information for most people to keep up with, so most people aren’t aware of the best practices that they should be following. By "most people" I’m referring to folks who have to keep their systems running on a daily basis, not the specialized consultants (not that there's anything wrong with consultants, because I like to think I am one) whose profession is actually keeping up with all the new information.
Imagine the IT utopia that might exist if Microsoft was successful in creating a BPA for each of its products that was updated on a regular basis, allowed for feedback and new rules from the community, and, perhaps most importantly, included the key best practices gleaned from the elite service teams at Microsoft, such as the SQL Server Customer Advisory team. Instead of Joe DBA needing to read a gazillion white papers and be an expert in all things SQL Server (and every other Microsoft server and development technology for that matter), Joe DBA could simply run the BPA and get a list of most of the BPA noncompliance problems that are present on his servers.
I’m not naïve. I don’t think a BPA will ever be a turnkey, hands-off solution that allows for systems to be kept in perfect running order without substantial time and investment beyond what the BPA can do. But I do think that a BPA that's updated on a regular basis with the current best practices of the community and key Microsoft teams will make all of our lives a lot easier.
I’m not suggesting that the current SQL Server 2005 BPA has hit that target. But the fact that Mestemaker is moving to the SQL Server Customer and Partner team, which is one of the elite Microsoft groups responsible for determining best practices, and will have the flexibility to update the BPA rules engine on a regular basis gives me great hope that Microsoft understands and is committed to the direction that the BPA should follow.
What do you think?