No More SQL Server Service Packs: Is CU12 the New SP1?

Starting with yesterday’s release of SQL Server 2017, Microsoft has a new servicing model: they’re only delivering Cumulative Updates, and not doing Service Packs.

Pedro Lopes writes:

  • SPs will no longer be made available. Only CUs, and GDRs when needed.
  • CUs will be delivered more often at first and then less frequently. Every month for the first 12 months, and every quarter for the remainder 4 years of the full 5-year mainstream lifecycle.
  • CUs are delivered on the same week of the month: week of 3rd Tuesday.

I adore this change for a few reasons:

  • It makes patching simpler – no more trying to figure out which CU branch you’re supposed to be on
  • It makes scheduling easier – if you take, say, quarterly outages, then you can just apply the most recent CU available based on your downtime schedule
  • It removes the “wait until SP1” stigma – there’s a good chunk of the population that thinks a product isn’t ready until the first major update, and now maybe they’ll see the first monthly CU1 as that adoption point.

This will influence how people see versions.

Examine this sentence closely:

“Every month for the first 12 months, and every quarter for the remainder 4 years…”

That means in November 2017 – October 2018, SQL Server 2017 is going to get monthly patches. However, starting in November 2018, it’s going to be more stable.

So now fast forward to late 2018, early 2019. You’re about to build a new SQL Server for a project, and you have two choices:

  • SQL Server 2018 – which is basically the new dev branch, getting monthly updates, or
  • SQL Server 2017 (or 2016, or 2014) – which is the stable branch, getting quarterly updates

Once a version has hit CU12, and it only gets updates once a quarter, it might be considered Good Enough For Our Apps. Managers might see 2017/2016/2014 interchangeably at that point – which might be great for the second most recent version’s adoption.

CU 12 might be the new SP1.

I can see managers saying, “Well, I don’t wanna go to a new version of SQL Server until they’ve eased up on the fast-and-furious update stream. I can’t take an outage every month to apply patches. Plus, based on the looks of some of these bugs they’re fixing, the software’s not really ready for prime time yet.”

And I wouldn’t blame them. After all, check out just some of the highlights from the most recent Cumulative Update, 2016 SP1 CU5:

And remember, this isn’t the fifth Cumulative Update for 2016: it’s the fifth update FOR 2016 SERVICE PACK 1. If you deployed SQL Server 2016 in June 2016 when it came out, you’d have had 8 patching outages by now to fix stuff like this.

Which is fine: adoption is slow anyway.

SpotlightEssentials market report

In the company chat room, Tara pointed out that few people jump on the most recent release anyway. SpotlightEssentials reports that <10% of servers are using SQL Server 2016 even today. That means ~90% of servers would be on the stable branch, getting CUs only once per quarter.

Years from now, I think we’ll all be glad that Microsoft took this step and switched to a simpler servicing model. There’s going to be a few pains as we explain to managers that no, you don’t need to wait for SP1 anymore – but depending on your stability goals and patch windows, you might wanna wait for CU12. (However, 90% of you aren’t installing the new version in the first 12 months anyway – so you’re unaffected.)

Previous Post
New System Stored Procedures in SQL Server 2017
Next Post
Bad Idea Jeans: Finding Undocumented Trace Flags

12 Comments. Leave new

  • The 12 updates in the first year is good if you have a long project to migrate to the next version as you can get things fixed quicker. If Microsoft move to more releases ie SQL 2018/ 2019/ 2020 then the old SP1 is in fact a brand new version.
    You should also remember that a fix in a new version can mean a fix in an older version too some times.


  • Based on this, do you think they will release any more Service Packs for SQL 2012 or 2014 or just continue to release CU’s?

  • I have zero confidence that testing for CUs are the same as SPs. CU8 for SQL2012 SP3 caused us several outages. Now we are waiting for SP4 to be released so we can remove the workaround. I don’t recall ever having issues like that with SPs.

  • Bill,

    I wouldn’t put all the blame on the SQL team. W have a weird backup issue that comes and goes after we apply Windows 2016 patches.


  • Thats bad news for me, because at the moment we only apply SPs and this takes already very long for 350+ Instances. I already had a big issue with a CU for SQL which lead to a memory leak.

    And what abt. the Lifecycle without SPs – they always extended it in the past.
    The Release Cycle for new Versions is already a pain in the xxx. We could easily fill the time of one or two DBAs with upgrading…

    • Brian Boodman
      October 4, 2017 8:45 am

      Gerald, this change does not prevent you from maintaining a similar patch rate to that provided by SPs.

      From the article:
      Q6: Previously, once SP2 was released (for example), if I was on the RTM baseline I would have to upgrade to SP1 or SP2 to get a hotfix. How will this work now?
      A6: The only baseline will be RTM, and it will receive CUs for 5 years. There are no upgrades to an SP to receive CUs, or worry about which baseline a CU applies to.

  • Don’t forget that most new features go to the cloud first. Here Microsoft can see if a problem is encountered constantly. Being an On-Prem shop we don’t send data back to Microsoft and only raise an incident if its really bad. This means that more bugs get seen now and fixed so expect more fixes in at least the first year of CU’s especially as more shops move up to the new release.


  • I have been one of those that never rolls out a new version until after the first service pack. I have done this for many versions. This logic worked with Microsoft’s previous SDLC. Given that has completely changed and now includes their use in Azure which may or may not be a named version as it being used their prior to non-cloud versions, I am not sure that waiting for CU12 for non-cloud rollouts is equivalent to waiting on SP1 in the old SDLC. I am also not convinced that what microsoft is now releasing as its name year version (Microsoft 2017) is the equivalent of named year versions in times past. I am thinking that CU12 may be overly conservative in this SDLC by a factor of 12. Of course, only time and experience will tell.


Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.