What does the performance of SQL Server mean to you and your company?
What are the benefits? How is the value perceived? Is it in dollars saved? Dollars earned?
How about concepts that do not involve money? Peace of mind? The fact that the server will process these important transactions efficiently and accurately? You always know how long it will take to pull said report? It’s so quick that you can pull it often.
Case Scenario:
I spent some time working for a major financial firm. They had a major application that they were looking to virtualize as part of a data center migration. (This process was poised to save them a significant amount of money).
When the idea of virtualizing the SQL Server portion of the application came to the server engineering team they said that it utilized too much CPU to be able to share resources on a VM host. The application owner came to me and asked if there was anything I could do from a SQL Server tuning perspective.
I did a basic health check and then dug in to see if I could spot any bottlenecks. Upon my findings, it was very clear that there was some parallelism going on. (For more on parallelism and cxpacket I highly suggest you go to www.sqlskills.com and see the many amazing articles on there).
From there I identified the most CPU intensive queries. And I’ll skip over the technical details, so I can focus on the topic of this post, but I essentially found heaps (ie tables with no indexes), and provided some simple indexing solutions. In a perfect world they would have taken my recommendation to fully normalize the database/tables in question. But sometimes you have to take what you can get.
The performance improvement from fixing a couple of intensive queries knocked the CPU utilization down by about 30%. Which more than met the server team’s threshold to virtualize.
What value did this bring to the client? Well, they could proceed as planned with the migration and save money in the process. Time + money saved = Lots of money saved!
The application owner also received peace of mind that this particular query could be run at almost any time they wanted. They no longer had to schedule it to run at night.
Now keep in mind, this is a rather simple example and there are many reasons a SQL server may not be performing optimally. But I understood what success looked like for this company regarding this particular project.