BlogSQL Server

SQL Server Upgrade: In-Place or Side-by-Side

Scott Sternloff

By Scott Sternloff, Senior Enterprise Architect

LinkedIn · Updated · 6 min read

SQL Server Upgrade: In-Place or Side-by-Side
On this page

Upgrade SQL Server in place when a restore is an acceptable rollback and you can take the outage. Go side-by-side when the old instance must stay untouched until the new one has run a full business cycle. Microsoft supports an in-place upgrade to SQL Server 2025 from SQL Server 2014 SP3 or later, 2016 SP3 or later, 2017, 2019 and 2022, so most estates have both routes open. The choice is about rollback, not speed. AceMQ plans and rehearses these upgrades through its SQL Server upgrade planning and consulting and runs them for estates under managed SQL Server services; the hub for everything SQL Server is SQL Server DBA services. For the dates that make this urgent, see SQL Server 2016 end of life: this article is the how-to.

Which versions can upgrade in place to SQL Server 2025

Supported upgrade sources for SQL Server 2025 (Microsoft Learn) and extended support end dates (Microsoft Lifecycle), checked 31 October 2026
Source versionIn-place upgrade to SQL Server 2025Extended support ends
SQL Server 2014Yes, from Service Pack 3 or laterEnded
SQL Server 2016Yes, from Service Pack 3 or laterEnded 14 July 2026
SQL Server 2017Yes12 October 2027
SQL Server 2019Yes8 January 2030
SQL Server 2022Yes11 January 2033

Anything older can still reach SQL Server 2025, but by migration, not in place: Microsoft supports restoring a backup taken on SQL Server 2008 or later, as long as the database compatibility level is 90 or higher (level 90 is raised to 100).

In-place or side-by-side: decide on rollback

In-place compared with side-by-side for a SQL Server upgrade
QuestionIn-placeSide-by-side
RollbackRestore from backup. The old binaries are gone.Point the application back at the old instance, which was never touched.
OutageThe upgrade itself, so a longer window on a large instance.The cutover only: the final log restore and the connection change.
Hardware and OSSame server, but SQL Server 2025 needs Windows Server 2019 or later, so an older Windows Server is upgraded first.New server and operating system, which fixes both at once.
Work you carry acrossAlmost none: logins, jobs and settings stay put.Logins, Agent jobs, linked servers, certificates and settings, by hand or script.
Fits best whenA small estate, a generous window and a tested backup.A critical database, an old operating system or a rollback that must be instant.

An edition change can ride along with an in-place upgrade, within the paths Microsoft lists, but never combine it with a platform change in one production window. Moving hardware, raising the version and changing the compatibility level are three changes, each with its own fallback.

Side-by-side, step by step

  1. Inventory the instance: databases and their compatibility levels, logins, Agent jobs, linked servers, certificates, and anything that reads the database. Ask each application vendor whether it supports the new version. Fix the gaps before you build.
  2. Build the new instance on the target version and apply the current updates.
  3. Restore a full backup, and a differential if you use one, onto the new instance. A backup from SQL Server 2008 or later restores to SQL Server 2025 with its compatibility level unchanged when it is 100 or higher.
  4. Script and move logins with their SIDs, Agent jobs, linked servers, credentials and, where Transparent Data Encryption is on, the certificate and its private key. Without them installed in master on the new instance, SQL Server cannot open the restored database.
  5. Test with the application on the new instance with Query Store open, at the old compatibility level first.
  6. Keep the new instance current with log backups, or by log shipping, until the cutover window. Then restore the last log backup, bring it online and repoint the application.
  7. Keep the old instance, read-only and backed up, until the new one has run a full business cycle.

Log shipping is the usual way to shorten the cutover, with one trap Microsoft documents: once a failover makes the SQL Server 2025 instance primary, the older secondary can no longer receive its changes. The cutover is one-way, so rollback after it means a restore from a backup, not a switch back.

The compatibility level decision

An upgrade does not have to change how queries are optimised. A database restored from a SQL Server 2008 or later backup keeps its compatibility level when it is 100 or higher, and the new engine runs it at that level. Raising the level is a separate step that can change plans, which is where regressions come from. Run one business cycle at the old level, enable Query Store, raise the level for one database at a time, and force the last good plan for any query that regresses while you fix it.

What Microsoft says will block or limit an upgrade

  • Cross-version instances are not supported: every Database Engine component in an instance must be the same version.
  • Setup cannot move a 32-bit instance to 64-bit, and you cannot add features during the upgrade. Add them afterwards with the new version's Setup.
  • A pending restart or a stopped Windows Installer service blocks the upgrade.
  • Before the upgrade, the SQL Server Agent service account must be a member of the sysadmin group and Windows Authentication must be enabled for Agent.
  • Web edition is not available in SQL Server 2025: a Web edition instance upgrades to Standard or Enterprise.

Where Extended Security Updates fit

For SQL Server 2016, Microsoft sells Extended Security Updates, which buy time on the old version but are not an upgrade. Their price and terms come from Microsoft and your reseller. The options and how to choose between them are in the end-of-life article. If the upgrade plan includes a move to Azure, read the feature gaps first on the Azure SQL decision section.

Sources

Frequently Asked Questions

Can I upgrade SQL Server 2016 straight to SQL Server 2025?

Yes, in place, if the instance is on Service Pack 3 or later. Microsoft lists SQL Server 2014 SP3 or later, 2016 SP3 or later, 2017, 2019 and 2022 as supported sources for an in-place upgrade to SQL Server 2025. A side-by-side migration by backup and restore also works from SQL Server 2008 or later when the database compatibility level is 90 or higher (level 90 is raised to 100).

Is a side-by-side upgrade safer than in-place?

It has the better rollback: the old instance is never touched, so you can point the application back at it. It costs more work, because logins, Agent jobs, linked servers and certificates have to be carried across. After a log-shipping cutover to a newer version, though, the older instance cannot receive changes, so the rollback is a restore, not a switch back.

Does upgrading change my compatibility level?

No. Microsoft documents that a database restored from a SQL Server 2008 or later backup keeps its compatibility level when it is 100 or higher. Raising the level is a separate step that can change query plans, so test it with Query Store open and raise it one database at a time.

What stops a SQL Server upgrade from running?

Microsoft says a pending restart or a stopped Windows Installer service blocks the upgrade. It also tells you to check that the Agent service account is in the sysadmin group, and it does not support cross-version instances. Setup also cannot convert a 32-bit instance to 64-bit or add features during the upgrade.

Can I roll back a SQL Server upgrade?

After an in-place upgrade, rollback means restoring from the backup you took before it, because the old binaries are gone. After a side-by-side move, rollback means pointing the application back at the old instance, which stays untouched until you retire it. If log shipping carried the cutover to a newer version, the old instance can no longer receive changes, so that rollback is also a restore.

Can I upgrade SQL Server 2012 directly to SQL Server 2025?

Not in place: Microsoft's list of in-place sources starts at SQL Server 2014 SP3. You can still reach SQL Server 2025 by migration, restoring a backup taken on SQL Server 2008 or later, as long as the database compatibility level is 90 or higher (level 90 is raised to 100).

Scott Sternloff

Author

Scott SternloffSenior Enterprise Architect

Senior Enterprise Architect at AceMQ. Writes the technical coverage here: RabbitMQ, Kafka and Redis architecture, clustering and migrations.

Talk to an engineer

Need a hand with SQL Server?

Senior engineers who run it in production. Get a quote or a free consultation, no sales pitch.

Free Consultation

Get Expert Eyes on Your SQL Server Environment

Whether you're troubleshooting a production incident, planning a migration, or want a second opinion on your architecture — our team is ready. No pitch, just answers.

Email Us