This month’s T-SQL Tuesday is being hosted by Steve Jones (blog|twitter). The subject is Upgrade Strategies. As Steve describes it, “This month I want you to write about how you look at SQL Server upgrades“. This post will be my contribution for T-SQL Tuesday #147 – Upgrade Strategies.
This is a very wide subject area, that gives everyone plenty of possibilities for blog topics. Being more focused on one narrow topic can be bad, since it may discourage some people from writing a post. Just writing a useful blog post and getting quality links back and forth from other good blogs in the SQL Server community is good for everyone who participates!
BTW, reading and then commenting on the T-SQL Tuesday blog posts of other participants helps both you and the other blogger. They get views and comments on their blog, and you get backlinks to your blog. T-SQL Tuesday also helps encourage people to blog more often, which is good.
In my case, I am going to talk about some of my experiences with upgrading to new versions of SQL Server over the years.
T-SQL Tuesday #147 – Upgrade Strategies
Generally speaking, I have always been a “technology seeker” in both my professional and personal life. That means that I actively seek out and try to acquire new and “improved” versions of things that I use to do my job. My basic mindset (which may be too optimistic) is that new versions are intrinsically better than older existing versions.
Whether is a new family of server CPUs, a new version of SQL Server, or a new firmware update for a camera, I am always on the lookout for that new thing, which must be better… Most of the time, new versions are an improvement over what they replaced, but not always. Especially with software, new versions sometimes make things worse.
So far, nobody has ever come to me and said, “Hey Glenn, we want to upgrade to SQL Server vNext”. It has always been a case of me talking the organization into an upgrade.
So far, I have never been badly burned by doing this. If you do your research and come up with a good plan that includes enough testing, you usually have a much better chance of success.
Making the Case for an Upgrade
Everywhere I have ever worked, I have always tried to push the organization to be an early adopter of new versions of SQL Server as quickly as possible. Part of me just wants the new shiny thing, but as I gained experience, I learned to look for the business benefits of adopting something new. Identifying what existing problems a new version of SQL Server will help improve or solve is crucial. You can’t just rattle off a list of new features, you need to understand how the new features and improvements can actually be useful to the business.
These Microsoft links can help you get started.
- What’s new in SQL Server 2022
- Editions and supported features of SQL Server 2019
- Editions and supported features of SQL Server 2017
- Editions and supported features of SQL Server 2016
Depending on how old your current version(s) of SQL Server are, there will be different new and improved features in newer versions of SQL Server that will be useful if you upgrade.
One strategy that is sometimes helpful is to use the end of Microsoft Mainstream support or Extended support as a motivating factor for an upgrade. Falling out of Mainstream support means that there are no more Service Packs or Cumulative Updates. When you fall out of Extended support, there are no more security updates.
In my experience, most organizations are not overly concerned about falling out of Mainstream support. Falling out of Extended support is usually taken more seriously, but not always.
Keep in mind that as of SQL Server 2017, there are no more Service Packs for SQL Server. That means the old practice of waiting for the first Service Pack before you deploy is no longer valid.
This table is a handy reference for SQL Server Support dates.
As a consultant, I am sometimes puzzled when I run into clients who are extremely resistant to technological change. It just runs counter to my natural way of thinking. It is not just resistance to large, perhaps risky changes, but resistance to any changes or improvements.
Many people in the technology field have an underlying resistance to change. Anytime you change something, there is a chance it might break. This is an understandable motivation. Colin Powell is credited with saying “If it ain’t broke, don’t fix it is the slogan of the complacent, the arrogant or the scared. It’s an excuse for inaction, a call to non-arms.”
In my personal technology life, I sometimes get myself into trouble by trying new things. More than once, I have broken something that was previously working just fine. I sometimes joke to my wife that I can’t leave well enough alone. This can cause frustration and wasted time, but I usually learn new things along the way.
A Perfect Storm
Several factors exist that make 2022-2023 a great time to update your entire data platform. Windows Server 2022 has been GA for a while now and seems to be quite stable. SQL Server 2022 is scheduled for GA during CY 2022. Both AMD and Intel are scheduled to release new server CPU families during 2022, which will have very significant performance jumps over their predecessors.
Whether you are running on premises or in a cloud VM, the 2022-2023 period is a good time to start making the case for a complete data platform refresh. The next couple of years are going to be very exciting for database servers!
I have several recent posts that are related to this subject.
- SQL Server 2022 Standard Edition Licensing Limits
- Hidden Improvements in SQL Server 2019
- SQL Server 2022 DMV Wish List
- SQL Server 2022 New Features
I hope that this post has been interesting and useful! I also want to thank Steve for hosting this month.
If you have any questions about this post, please ask me here in the comments or on Twitter. I am pretty active on Twitter as GlennAlanBerry. Thanks for reading!