Most of the people working with SQL Server have some of that geek gene, the desire to control, change, and mold the environment in which they work into some new form. Some people build physical toys, and others work onvirtual tools, but there’s this desire for control for many of us.
Each version of SQL Server has brought with it a great deal more control in terms of the metrics we get (DMVs, wait stats, etc.) as well as tuning knobs (sp_configure options, Resource Governor, plan hints, and more). It has become possible to exert more influence over how SQL Server runs than ever before, and I suspect we’ll get even more ways in the future.
But is that what you want? As DBAs, do you want more control in how you work with SQL Server, and potentially a higher level of knowledge needed to tune an instance? I suspect many people would like more knobs to turn, but I wanted to ask the question this Friday:
Do you want your efforts in tuning SQL Server to have more or less options?
As a clarification, I don’t want to imply that your instance will perform at a lower level with less tuning options, but rather that Microsoft would invest more time into the automatic tuning and learning capabilities of the database engine. My thought would be that you check some configuration options at some level (instance, database, even batch), and the server then builds a more optimal execution plan, and balances the load better between all the clients. The server ends up doing most of the tuning work with a little guidance from you.
The alternative is that you do more investigation, apply more knowledge, and tweak your code or a variety of settings to improve server performance. In essence, do you want to do more work to tune an instance or have the server do most of the work?
I suspect more people want great flexibility in tuning and the ability to apply their own knowledge, but let us know this week.