Over the course of my career, I can’t remember too many people coming to me and initiating the conversation about upgrading to a new version of SQL Server, a new version of Windows Server or a new set of server hardware and storage. As a DBA, Data Architect, or Consultant, I have generally had to take the lead, and make the business and technical case for an upgrade effort. Unfortunately, this is not always an easy effort, going against institutional inertia, budget limitations, and many other common arguments.
One proven way to start this process is to honestly assess what are your biggest issues in your current Production environment. Perhaps you have multiple servers or SQL Server instances that are underutilized and might be good candidates for consolidation. Perhaps you have multiple instances that are running on hardware that is out of warranty, on storage that is also out of warranty. Another possibility is persistent and worsening performance and scalability issues that are negatively affecting the business and also causing an increased workload for your I.T. staff.
Whatever the main issues are, you also need to ask yourself whether you have done as much as you can to alleviate the issue with your current resources. Have you done all you can to maintain, properly configure, and tune your environment, from top to bottom? Doing your job as a confident and effective DBA will usually improve the situation to a certain extent, perhaps enough postpone the immediate necessity for upgrade. This helps your organization in the short term and also builds your credibility.
It is also possible, that despite your best maintenance and tuning efforts, you may still be in a situation where an upgrade (hopefully a complete platform upgrade) is the best long-term answer. Pushing for an upgrade after you have gained knowledge and credibility by doing everything you can to improve your current environment is much easier than if a platform upgrade is the first thing you ask for!
Using Your Laptop or Workstation for a Hardware Comparison
One tactic that I have used on more than one occasion to help build the case for a hardware upgrade is to run a couple of quick, standardized synthetic CPU/Memory benchmarks, such as Geekbench, Cinebench, or CPU-Z, on both my laptop or workstation and a Production database server. Of course, you want to do this in an intelligent and safe way. You should have an idea (from previous analysis and research) how fast your workstation is (for both single-threaded and multi-threaded performance) compared to the database server in question. You also would want to run tests like this (if you actually run them) on a server that is not actually being used for a Production workload when you run the benchmarks.
What I mean by “if you actually run them” is that most of the well-known benchmarks have online databases where you can browse the results from other systems. Another source of comparative benchmark information are the server-oriented hardware review sites such as ServeTheHome and StorageReview. Using sources like these, you may be able to avoid actually running these benchmarks on your Production server.
Depending on the age and speed of your workstation and age and speed of your legacy database server, you may find that your workstation is significantly faster than your legacy database server for single-threaded CPU performance. You may even find that it has a higher multi-threaded score (which represents capacity) than your legacy database server.
Once you are sure of your facts (and have done as much other research and analysis as possible to back them up), you can choose a strategic time and method to disclose this information to your management. This might be in an email, or in a meeting, it depends on the situation and people involved.
For example, after reviewing the extensive efforts you and your team have made to improve performance on your current environment, you could casually mention that according to CPU-Z and Geekbench, your laptop (point at it) has 73% higher single-threaded CPU performance than your current Production database server. Often, this will get an initial laugh, but if you have all of your evidence and analysis ready to present, this can actually be a compelling point that can plant the seed in your boss’s mind.
Another general approach is to be persistent. Quite often, despite your best efforts and preparation, your management team will not approve of your upgrade plan. I have found that if you are determined, and continue to improve the quality of your arguments over time, you will usually prevail in the end.
My new Pluralsight course, SQL Server: Upgrading and Migrating to SQL Server 2016 has just been published. This is my eleventh course for Pluralsight, but the complete list of my courses is here.
Building on this online course is a new three day class, IEUpgrade: Immersion Event on Upgrading SQL Server, taught by myself and Tim Radney. The first round of this course will be taught in Chicago from October 11-13, 2017.
Here is a link to the complete series about upgrading SQL Server.