Introduction

Both SQL Server 2008 and SQL Server 2008 R2 are falling out of extended support from Microsoft on July 9, 2019. SQL Server 2012 already fell out of mainstream support on July 11, 2017. Finally, SQL Server 2014 is also falling out of mainstream support on July 9, 2019. Because of these facts, a SQL Server upgrade to a modern version of SQL Server could be in your fairly immediate future. No big deal, right?

 

SQL Server Support Dates

Figure 1: SQL Server Support Dates

 

Nothing to Worry About

Many organizations seem to have the idea that upgrading to a modern version of SQL Server is very easy. You can simply upgrade in place. Or you can do a simple detach/attach or backup/restore sequence. After this, you will come up just fine on the new version of SQL Server with great performance. Nothing to worry about, everything will be fine. That could be true, perhaps you will get lucky, without doing any planning or testing. It is more likely that you will have a few issues that you will have to work through after the upgrade effort. This is even more likely if you don’t understand the details about a modern SQL Server upgrade.

Just to be clear, this is not a knock on Microsoft or SQL Server. Each new version of SQL Server is better (in many ways) than the previous version. Upgrading to a modern version of SQL Server is a good thing to do. Your organization will get many benefits with little to no effort. You will also be able to take advantage of many useful new features, perhaps with some development effort. It is just extremely important that you do a proper SQL Server upgrade in order to have the best experience.

 

Avoiding a Stressful SQL Server Upgrade

How do you increase the likelihood that you will have a good upgrade experience? My first piece of advice is to not underestimate the actual complexity of the subject. Some organizations seem to think this is not complicated at all. After all, they did an upgrade from SQL Server 2005 to SQL Server 2008 ten years ago, and it wasn’t that hard.

Unfortunately, there are new complexities with modern versions of SQL Server. Just doing a blind upgrade, with little analysis and planning, is a much riskier proposition. You may run into pretty severe performance regressions on some queries because of differences in the newer versions of the cardinality estimator. There are many ways to discover this during a proper upgrade planning and migration process. Despite this, I see many organizations that that literally don’t know what they don’t know.

These organizations make fundamental mistakes during their planning and testing that cost them performance and scalability. They make mistakes that cause them to spend much more on SQL Server licensing than they needed to. They use incorrect configuration settings and database properties that negatively affect performance. These types of mistakes often lead to a very stressful experience after the Production migration. I don’t want this to happen to you!

 

Educating Yourself about SQL Server Upgrades

The first thing to do is to start to educate yourself on the subject. This might involve just doing some research and self-study to start with. If you want to start there, here are some articles and posts I have written on this issue:

Avoiding SQL Server Upgrade Performance Issues

The Importance of Database Compatibility Level in SQL Server

Properly Upgrading SQL Server

Compatibility Levels and Cardinality Estimation Primer

Everyone learns differently, so there are several other options available.

 

Online Classes from Pluralsight

Your next step might be to watch some of my Pluralsight courses that are relevant to installing and properly upgrading SQL Server. These specific courses are the most useful in my opinion:

SQL Server: Upgrading and Migrating to SQL Server 2016

SQL Server: Installing and Configuring SQL Server 2016

SQL Server: Understanding, Configuring, and Troubleshooting Log Shipping

SQL Server: Improving Storage Subsystem Performance

Live Online Class: IEPUM2017

Another alternative is to take my live online class IEPUM2017: Immersion Event on Planning and Implementing an Upgrade/Migration to SQL Server 2017 the next time we offer it. This is a three day class, with nine hours of lecture and many useful demonstrations that teaches you how to properly plan and implement a successful SQL Server upgrade. The format of this class lets you attend without any travel, and it gives you the opportunity to ask as many questions as you like. You also get a recording of the class, along with all of the class materials and demonstration scripts.

 

In-Person Immersion Event in Chicago

A great option would be to take our in-person IEUpgrade: Immersion Event on Upgrading SQL Server immersion event class in Chicago on May 1-3, 2019. This is a three day class taught by myself and Tim Radney. This is an intense, deep-dive class with about 22 hours of lectures and demonstrations. Being onsite for three days straight lets you concentrate exclusively on learning.

There is much less chance of being pulled back into your regular day job while you are away at training. This lets you focus on the material.

You also have the opportunity to ask as many questions as you like during the class. You also are able to ask questions to all of the other members of the SQLskills team over the course of the three days. You will have our undivided attention for a longer period of time, especially compared to a quick question at a SQL Server conference.

 

Consulting Help

Perhaps you don’t have the time or inclination to learn all of the gory details about SQL Server upgrades yourself. Maybe you are comfortable with the subject, but you want another set of eyes on your plans to make sure you haven’t missed something important. Maybe you just need an expert to actually help you with the implementation tasks. Whatever type of help you need, we can probably do it.

One way or another, we can help you with this! Just contact us, so we can talk about what your needs are.