I’ve been working with SQL Server for almost 20 years, since version 6.5, when we used the SQL WWW Page Wizard to publish data on the web, and when nobody have heard about user-defined functions. There were a lot of major versions and minor versions of SQL Server since then, until these days, when SQL Server 2016 has just been released with new exciting features like PolyBase and Query Store.
Throughout my career I have always heard people repeat the same mantra: “We must wait for SP1 before upgrading to SQL Server X”. And I’m still hearing these words today with SQL Server 2016. People who claim that it’s a bad idea to upgrade to a RTM version of the product usually claim that the RTM version is not stable enough, because it was only tested in Microsoft labs, but it was never tested on real-life databases and applications. They believe that SP1 will fix all the critical issues that will be discovered during the first wave of adoption with the RTM version.
I have never agreed with this claim, but in my first years as a DBA I didn’t have enough experience and confidence to claim otherwise, so I just assumed those people know what they’re talking about. But I still didn’t believe in it. Today, with SQL Server 2016 and with experience of 20 years and 8 major SQL Server versions, I am confident that there is no reason at all to wait for SP1. I have 3 reasons for this…
Throughout my career I have never seen an RTM version that was substantially less stable then the following SP1. Sure, there were bugs and issues. Sometimes there were critical bugs and issues. But there were just as much bugs and issues in SP1 and in SP2, and so on. I haven’t conducted a thorough research, so I don’t have a statistical proof, but these are the facts, at least from my experience.
The First Cloud-First Version
Remus Rusanu (Blog | Twitter) wrote a blog post about why he has high hopes for the quality of SQL Server 2016 RTM release. Remus explains that SQL Server 2016 is the first major version, which is truly cloud-first. This means that the way the dev team has been working on this version is completely different than previous versions. As new features were developed, they became live in production in the Azure SQL Database service about 2 months after development was completed. Every single feature in SQL Server 2016 has been in production in Azure SQL DB for likely more than a year by now, so SQL Server 2016 RTM has already been well tested on lots of real-life databases and workloads.
What’s between a Service Pack and a Cumulative Update?
A few months ago, the SQL Server engineering team announced an update to the SQL Server Incremental Servicing Model (ISM). The main message is that from now on cumulative updates are tested and generally treated by Microsoft just like service packs. Microsoft now recommends ongoing proactive installation of CU’s as they become available. So service packs actually have no special meaning from now on. In my opinion, Microsoft should remove service packs from the release cycle in order to simplify the process and avoid confusion. So this is another reason why you shouldn’t wait for SP1. If you insist, wait for CU1…
Every time I hear someone saying they must wait for SP1, I spend some time explaining my point of view. Now I won’t have to do it anymore. I’ll simply send them a link to this post. You can do it too…