I am a new DBA at a company that has never had a DBA before me. SQL Servers are never upgraded unless it is part of a Windows Update on the server. Service Packs (or CUs) are never installed. We have a mix of versions from 2000 to 2014.

I'm trying to develop a policy for maintaining and upgrading the SQL Servers. How often do you upgrade your SQL Servers? Or more specifically, how up-to-date do you keep your SQL Servers and why?

For example:

  • SQL Servers will be upgraded when the version is not within Microsoft's Mainstream support.
  • SQL Servers will stay within 2 (two) versions of the most recent version released from Microsoft.

What about SPs and CUs?

  • 1
    Well you will be in luck because as of August 2016 (I think it was) all CUs and SPs for SQL Server will be delivered via Windows Update.
    – user507
    Jan 2, 2017 at 20:09
  • See this post and this post for opinions favoring cumulative updates. Jan 2, 2017 at 20:12
  • 2
    I think one of the most important considerations here is application compatibility. Oftentimes that alone can be the driving reason why some companies are still on an old version of SQL server. Identify applications running in your environment and start a discussion with the app owners within your company which focuses on why they're not using current software releases. They may even have information which will help you to establish the appropriate policies. Jan 3, 2017 at 3:15

4 Answers 4


It depends. It depends on the application that uses SQL Server. Check with the application and stay current with the version supported by the application. Stay within Microsoft main stream support. Apply any service pack or cumulative update that fixes any issues being experienced.

The way releases work at Microsoft is like this: RTM is released and hotfixes are created for defects. Hotfixes are bundled up into cumulative updates. Cumulative updates are bundled up into service packs.

It isn't realistic to apply every cumulative update as soon as it is released, especially when you consider that you have to test prior to applying in production, and implementing a strict policy of "we will never be more than two years behind the latest release" means that you will have to upgrade everything to SQL 2014 immediately.

Priority should be: 1. The most critical server that gives you the most trouble 2. The servers with issues 3. The oldest ones

Once you get those knocked out, then I would work on getting all the servers at least within mainstream support.

After that, I would implement a policy of testing service packs and applying them.


How frequently you install Service Packs and/or Cumulative Updates will vary wildly based on your individual scenario. There is no objective one-size-fits-all answer.

The best general advice I could offer would be to follow Microsoft's advice. As of January 2016, Microsoft's advice is:

we now recommend ongoing, proactive installation of CU’s as they become available.


A big factor to consider is External Regulation. For Example, if you are looking after a Server that stores Payment Card Information (PCI) then there are set guidelines that define the timelines for implementing any security patches/updates.


My personal opinion regarding databases upgrades -
Upgrade to the newest version few month after SP1 is released (If there are no ricochets).
That means that you are never more than 1 version behind.

1. Because I assume most of the upgrade Q.A. is done between adjacent versions and update between distanced version can be become a nightmare.
2. Because until a product becomes mature, older versions lacks a lot of functionality, which has a significant development and performance cost (which is very easy to ignore...).

  • 1
    Where does this "wait for SP1" mentality come from? SQL Server 2005? Jan 2, 2017 at 20:13
  • @AaronBertrand - Oracle :-) Jan 2, 2017 at 20:38
  • 2
    ok, well, this question isn't about Oracle, and that is already a pervasive myth that I would rather not continue to propagate. Could you edit your answer to either remove it or indicate that it is a joke or at least not relevant to SQL Server? This is like "joking" that PLE should be 300 and you should set server MAXDOP to 1 to kill CXPACKET waits. Jan 2, 2017 at 21:54
  • @AaronBertrand - SP1 means that the version had been around a while on production systems and that the critical bugs were detected and reported by customers and fixed by the provider. Are you suggesting that SQL Server is bug free? No risk of data corruption or downtime? Jan 3, 2017 at 5:40
  • P.s. I would concentrate more on why people are still using SQL Server 2000-2012, Oracle 8i-10g etc. Jan 3, 2017 at 5:43

Not the answer you're looking for? Browse other questions tagged or ask your own question.