SQL Server upgrades from out-of-support versions
We move databases off SQL Server versions that no longer receive security fixes, rehearsing the whole upgrade on a copy first so that the real one holds no surprises.
Vendor support
- SQL Server 2016
- Support ended
- Security fixes
- Ended 14 July 2026
What you probably want to know first
- Can you support our existing application?
- Yes; the database itself needs server access, not source code. Where the applications using it need changing, you must hold or be able to obtain their source code. Upgrades are harder where code relies on removed features, or old client drivers cannot connect to a newer server; a database belonging to a packaged product should be upgraded by its supplier.
- What happens in the first assessment?
- Our fixed-price code audit, one to two weeks: a short call, then read-only access to the server and, where possible, the code of the applications that connect to it. We check the version against its support date, run automated analysis and read by hand the parts that matter. You get a written report and a walk-through call.
- What access do you need?
- Read-only access to the database server and, where possible, read access to the source code of the applications that use it. Nothing changes on the live server: we collect what it already records about itself and rehearse any upgrade on a restored copy. A confidentiality agreement can be signed before anything is shared.
- What sets the cost and the timescale?
- The size and number of the databases, the number of applications that connect to them, whether we can see the server as well as the code, and unusual or mixed technology, such as linked servers and SSIS packages. An upgrade is sized by the rehearsal, which is timed, so the length of the real outage is known in advance.
- What have you done with systems like ours?
- SQL Server is the database we know best. We have worked mostly on the Microsoft stack since 2012, and most of the systems we maintain were built by someone else. The Logtek case study describes taking over a custom application, moving it to the cloud and maintaining and extending it since. The rest of our case studies are on the site.
Why the version matters
Each version of SQL Server receives security fixes for roughly ten years after release, and then stops. SQL Server 2016 reached that point in July 2026, joining 2012 and 2014. SQL Server 2017 follows in October 2027.
A database on an unsupported version carries on working exactly as before, which is why upgrades get put off. What changes is that newly discovered security flaws are no longer fixed, software suppliers stop testing against the version, and insurers and auditors start asking about it. The full list is on our SQL Server end-of-support dates page.
What makes upgrades go wrong
- Removed and changed features. Code written long ago may rely on things later versions dropped or deprecated, such as old-style outer join syntax, DTS packages, or the text and image data types.
- Query plans change. The compatibility level controls how the query optimiser behaves. Raising it past the SQL Server 2014 level changes how row counts are estimated. Most queries are unaffected or faster, but a few get much slower.
- Things outside the database get left behind. Logins, Agent jobs, linked servers, SSIS packages and maintenance tasks belong to the server and are not in a database backup.
- Old client drivers. Applications connect through drivers installed years ago, which may not support the encryption a new server expects.
- No way back. A database restored on a newer version cannot be restored onto the older one, so the fallback has to be planned in advance.
- Edition differences. A cheaper edition may lack features the database or its maintenance jobs already use. Backup compression, for example, is not available in Web or Express.
Your options
Upgrade to a current version. The lasting fix. SQL Server 2022 is supported until January 2033 and SQL Server 2025 until January 2036. Edition matters too. Express is free but limits database size and memory, Standard suits most business systems, and Enterprise is for the most demanding workloads. Web edition, licensed through hosting providers, costs less for public-facing web applications on SQL Server 2022 and earlier; check whether it is offered for the version you are moving to.
Pay for Extended Security Updates. Microsoft sells security fixes beyond the end of support: until July 2027 for SQL Server 2014 and July 2029 for SQL Server 2016. The programme for SQL Server 2012 has already closed. It buys time for a planned upgrade and gives you nothing else.
Upgrade and move to the cloud together. If the server hardware is also ageing, doing both in one cut-over avoids testing everything twice. The choice is between SQL Server on a cloud virtual machine, which behaves like your current server, and a managed database service, which takes patching and backups off your hands but does not support every feature. Agent jobs, linked servers, CLR code and cross-database queries all need checking. See cloud migration.
How we carry out an upgrade
We rehearse. A recent backup of the live database is restored on the new version, the applications are pointed at it and the main workflows are run. The rehearsal is timed, so the length of the real outage is known in advance. Every problem it finds is fixed, and the rehearsal is repeated until it runs clean.
The database is moved first and left at its old compatibility level, so that it behaves as it did before. Query performance is recorded for a period, the level is then raised, and anything that has slowed down is compared with its earlier plan and corrected. Keeping the two steps apart makes the cause of any problem much easier to pin down.
On the day, the old server is left untouched once the final backup has been taken. If something unexpected happens, the applications are pointed back at it.
An upgrade is also a good moment to deal with queries that were already slow. That work is described under database performance.
Talk to us
Describe the system and what you need. You will hear back from someone who can answer technical questions.
Discuss your SQL Server database 0800 433 7990What a SQL Server upgrade involves
- Compatibility assessment
- We check the database and the applications that use it for features that are removed or behave differently in the target version.
- Rehearsed upgrade
- The full upgrade is run on a restored copy, timed and tested, before the live database is touched.
- Compatibility level changes
- The database moves to the new version first and its compatibility level is raised afterwards, with query performance compared before and after.
- Edition advice
- Whether Express, Web, Standard or Enterprise fits the features you use and the load you have.
- Move to cloud hosting
- Upgrade and move in one cut-over, to a managed database service or to SQL Server on a cloud virtual machine.
- Everything around the database
- Logins, Agent jobs, linked servers, SSIS packages and reports are moved and tested too.
How an upgrade runs
Inventory
We list databases, versions, editions, sizes, Agent jobs, linked servers and every application that connects.
Assess compatibility
Each database and the code that uses it are checked against the target version for removed and changed features.
Rehearse on a copy
A recent backup is restored on the new server, the applications are pointed at it and the main workflows are tested.
Cut over
At an agreed quiet time the live database is moved using the rehearsed steps, with the old server kept intact as the fallback.
Raise the compatibility level and tune
Once the system is stable, the compatibility level is raised and any queries that slow down are corrected.
Support dates
Status is worked out against today's date each time this site is rebuilt. Dates come from the Microsoft product lifecycle; check there before relying on them.
| Version | Released | Mainstream support ended | Security fixes end | Paid extension ends | Status today |
|---|---|---|---|---|---|
| SQL Server 2016 | 1 June 2016 | 13 July 2021 | 14 July 2026 | 17 July 2029 | Support ended |
| SQL Server 2014 | 5 June 2014 | 9 July 2019 | 9 July 2024 | 12 July 2027 | Support ended |
| SQL Server 2012 | 20 May 2012 | 11 July 2017 | 12 July 2022 | 8 July 2025 | Support ended |
| SQL Server 2017 | 29 September 2017 | 11 October 2022 | 12 October 2027 | – | Supported |
| SQL Server 2019 | 4 November 2019 | 28 February 2025 | 8 January 2030 | – | Supported |
| SQL Server 2022 | 16 November 2022 | 11 January 2028 | 11 January 2033 | – | Supported |
A good fit when
- You are on SQL Server 2016 or earlier, which no longer receives free security fixes.
- You are on SQL Server 2017 and want to move before support ends in October 2027.
- An insurer, auditor or customer questionnaire has flagged the database version.
- The server hardware or hosting contract is due for renewal anyway.
Probably not for you if
- You are on SQL Server 2019 or 2022 with no problems; there is no need to move yet.
- The database belongs to a packaged product; its supplier decides which versions are supported and should lead the upgrade.
Questions we are asked
Which SQL Server versions are out of support?
SQL Server 2012 went out of support in July 2022, SQL Server 2014 in July 2024 and SQL Server 2016 in July 2026. None of them now receives free security fixes. SQL Server 2017 follows in October 2027. SQL Server 2019 is supported until January 2030 and SQL Server 2022 until January 2033.
Which version should we upgrade to?
Usually SQL Server 2022 or SQL Server 2025. SQL Server 2025 has the longest support, to January 2036, but it is newer, so every application and tool you rely on needs confirming against it. SQL Server 2022 is supported until January 2033 and is the more cautious choice.
What are Extended Security Updates?
A paid programme from Microsoft that continues security fixes after support ends. It runs until July 2027 for SQL Server 2014 and July 2029 for SQL Server 2016, and has already finished for SQL Server 2012. It is a stopgap: it buys time for an upgrade and adds nothing else.
Will our application still work after the upgrade?
Usually, and the rehearsal is how we find out. A database keeps its old compatibility level after an upgrade, so most queries behave as before. The common problems are features removed from newer versions, old client drivers that cannot connect, and a small number of queries that slow down when the compatibility level is raised.
How much downtime is there?
For a small or medium database moved by backup and restore, the outage is usually a short planned window outside working hours. The rehearsal gives a measured figure for your database. Very large databases, or systems that cannot stop at all, need a different method that we would plan separately.
Tell us about your system
Say what it does, what it is built on and what is worrying you. We will reply with what we would look at first and whether we are the right people to help.