| title | Supported Version and Edition Upgrades (SQL Server 2016) | ||||
|---|---|---|---|---|---|
| description | The supported version and edition upgrades for SQL Server 2016. | ||||
| author | rwestMSFT | ||||
| ms.author | randolphwest | ||||
| ms.reviewer | vanto | ||||
| ms.date | 06/03/2025 | ||||
| ms.service | sql | ||||
| ms.subservice | install | ||||
| ms.topic | upgrade-and-migration-article | ||||
| helpviewer_keywords |
|
||||
| monikerRange | >=sql-server-2016 |
[!INCLUDE SQL Server -Windows Only]
You can upgrade from [!INCLUDE sql2008-md], [!INCLUDE sql2008r2], [!INCLUDE ssSQL11], and [!INCLUDE ssSQL14]. This article lists the supported upgrade paths from these [!INCLUDE ssNoVersion] versions, and the supported edition upgrades for [!INCLUDE sssql16-md].
-
Before upgrading from one edition of [!INCLUDE sssql16-md] to another, verify that the functionality you're currently using is supported in the edition to which you're moving.
-
Before upgrading [!INCLUDE ssNoVersion], enable Windows Authentication for [!INCLUDE ssNoVersion] Agent and verify the default configuration that the [!INCLUDE ssNoVersion] Agent service account is a member of the [!INCLUDE ssNoVersion] sysadmin group.
-
To upgrade to [!INCLUDE sssql16-md], you must be running a supported operating system. For more information, see Hardware and software requirements for SQL Server 2016 and SQL Server 2017.
-
Upgrade is blocked if there's a pending restart.
-
Upgrade is blocked if the Windows Installer service isn't running.
-
Cross-version instances of [!INCLUDE sssql16-md] aren't supported. Version numbers of the [!INCLUDE ssDE], [!INCLUDE ssASnoversion], and [!INCLUDE ssRSnoversion] components must be the same in an instance of [!INCLUDE sssql16-md].
-
[!INCLUDE sssql16-md] is only available for 64-bit platforms. Cross-platform upgrade isn't supported. You can't upgrade a 32-bit instance of [!INCLUDE ssNoVersion] to native 64-bit using [!INCLUDE ssNoVersion] Setup. However, you can back up or detach databases from a 32-bit instance of [!INCLUDE ssNoVersion], and restore or attach them to a 64-bit instance of [!INCLUDE ssNoVersion] if the databases aren't published in replication. You must recreate any logins and other user objects in
master,msdb, andmodelsystem databases. -
You can't add new features during the upgrade of your existing instance of [!INCLUDE ssNoVersion]. After you upgrade an instance of [!INCLUDE ssNoVersion] to [!INCLUDE sssql16-md], you can add features by using the [!INCLUDE sssql16-md] Setup. For more information, see Add Features to an Instance of SQL Server (Setup).
-
Failover Clusters aren't supported in WOW mode.
-
Upgrade from an Evaluation edition of a previous [!INCLUDE ssNoVersion] version isn't supported.
-
When you upgrade from previous versions to SQL Server 2016, PolyBase must be uninstalled before the upgrade and reinstalled after the upgrade.
SQL Server 2016 supports upgrade from the following versions of SQL Server:
- [!INCLUDE sql2008-md] SP4 or later
- [!INCLUDE sql2008r2] SP3 or later
- [!INCLUDE ssSQL11] SP2 or later
- [!INCLUDE ssSQL14] or later
Note
For more information about upgrading databases on [!INCLUDE ssVersion2005] see Support for 2005.
The following table lists the supported upgrade scenarios from earlier versions of [!INCLUDE ssNoVersion] to [!INCLUDE sssql16-md].
| Upgrade from | Supported upgrade path |
|---|---|
| [!INCLUDE sql2008-md] SP4 Enterprise | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE sql2008-md] SP4 Developer | [!INCLUDE sssql16-md] Developer |
| [!INCLUDE sql2008-md] SP4 Standard | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sql2008-md] SP4 Small Business | [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sql2008-md] SP4 Web | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web |
| [!INCLUDE sql2008-md] SP4 Workgroup | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sql2008-md] SP4 Express | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Express |
| [!INCLUDE sql2008r2] SP3 Datacenter | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE sql2008r2] SP3 Enterprise | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE sql2008r2] SP3 Developer | [!INCLUDE sssql16-md] Developer |
| [!INCLUDE sql2008r2] SP3 Small Business | [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sql2008r2] SP3 Standard | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sql2008r2] SP3 Web | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web |
| [!INCLUDE sql2008r2] SP3 Workgroup | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sql2008r2] SP3 Express | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Express |
| [!INCLUDE ssSQL11] SP2 Enterprise | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE ssSQL11] SP2 Developer | [!INCLUDE sssql16-md] Developer [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE ssSQL11] SP2 Standard | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard |
| [!INCLUDE ssSQL11] SP1 Web | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web |
| [!INCLUDE ssSQL11] SP2 Express | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Express |
| [!INCLUDE ssSQL11] SP2 Business Intelligence | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE ssSQL11] SP2 Evaluation | [!INCLUDE sssql16-md] Evaluation [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Developer |
| [!INCLUDE ssSQL14] Enterprise | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE ssSQL14] Developer | [!INCLUDE sssql16-md] Developer [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE ssSQL14] Standard | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard |
| [!INCLUDE ssSQL14] Web | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web |
| [!INCLUDE ssSQL14] Express | [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Express [!INCLUDE sssql16-md] Developer |
| [!INCLUDE ssSQL14] Business Intelligence | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE ssSQL14] Evaluation | [!INCLUDE sssql16-md] Evaluation [!INCLUDE sssql16-md] Enterprise [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Developer |
| [!INCLUDE sssql16_md] release candidate 1 | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE sssql16_md] Developer | [!INCLUDE sssql16-md] Enterprise |
1 Microsoft support to upgrade from release candidate software is specifically for customers who participated in the Technology Adoption Program (TAP).
This section discusses [!INCLUDE sssql16-md] support for [!INCLUDE ssVersion2005]. In [!INCLUDE sssql16-md], you can perform the following steps:
-
Attach a [!INCLUDE ssVersion2005] database (mdf/ldf files) to [!INCLUDE sssql16-md] instance of database engine.
-
Restore a [!INCLUDE ssVersion2005] database to [!INCLUDE sssql16-md] instance of database engine from a backup.
-
Back up a [!INCLUDE ssASversion2005] cube and restoring on [!INCLUDE sssql16-md].
Note
When a [!INCLUDE ssVersion2005] database is upgraded to [!INCLUDE sssql16-md], the database compatibility level is changed from 90 to 100.
In [!INCLUDE sssql16-md], valid values for the database compatibility level are 100, 110, 120, and 130. ALTER DATABASE (Transact-SQL) compatibility level discusses how the compatibility level change could affect [!INCLUDE ssNoVersion] applications.
Any scenarios not specified in the previous list aren't supported, including but not limited to the following:
-
Installing [!INCLUDE ssVersion2005] and [!INCLUDE sssql16-md] on same computer (side by side).
-
Using a [!INCLUDE ssVersion2005] instance as a member of the replication topology that involves a [!INCLUDE sssql16-md] instance.
-
Configuring database mirroring between [!INCLUDE sssql16-md] and [!INCLUDE ssVersion2005] instances.
-
Backing up the transaction log with log shipping between [!INCLUDE sssql16-md] and [!INCLUDE ssVersion2005] instances.
-
Configuring linked servers between [!INCLUDE sssql16-md] and [!INCLUDE ssVersion2005] instances.
-
Managing a [!INCLUDE ssVersion2005] instance from a [!INCLUDE sssql16-md] Management Studio.
-
Attaching a [!INCLUDE ssASversion2005] cube in [!INCLUDE sssql16-md] Management Studio.
-
Connecting to [!INCLUDE ssISversion2005] from [!INCLUDE sssql16-md] Management Studio.
-
Managing a [!INCLUDE ssISversion2005] service from [!INCLUDE sssql16-md] Management Studio.
-
Support for [!INCLUDE ssVersion2005] third party custom Integration Services components, such as execute and upgrade.
The following table lists the supported edition upgrade scenarios in [!INCLUDE sssql16-md].
For step-by-step instructions on how to perform an edition upgrade, see Upgrade to a different edition of SQL Server (Setup).
| Upgrade from | Upgrade to |
|---|---|
| [!INCLUDE sssql16-md] Enterprise (Server+CAL and Core) 2 | [!INCLUDE sssql16-md] Enterprise |
| [!INCLUDE sssql16-md] Evaluation Enterprise 2 | [!INCLUDE sssql16-md] Enterprise (Server+CAL or Core License) [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Developer [!INCLUDE sssql16-md] Web Upgrading from Evaluation (a free edition) to any of the paid editions is supported for stand-alone installations, but isn't supported for clustered installations. This limitation doesn't apply to stand-alone instances installed on a Windows Failover Cluster participating in an availability group. |
| [!INCLUDE sssql16-md] Standard 2 | [!INCLUDE sssql16-md] Enterprise (Server+CAL or Core License) |
| [!INCLUDE sssql16-md] Developer 2 | [!INCLUDE sssql16-md] Enterprise (Server+CAL or Core License) [!INCLUDE sssql16-md] Web [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sssql16-md] Web | [!INCLUDE sssql16-md] Enterprise (Server+CAL or Core License) [!INCLUDE sssql16-md] Standard |
| [!INCLUDE sssql16-md] Express 1 | [!INCLUDE sssql16-md] Enterprise (Server+CAL or Core License) [!INCLUDE sssql16-md] Developer [!INCLUDE sssql16-md] Standard [!INCLUDE sssql16-md] Web |
Additionally you can also perform an edition upgrade between [!INCLUDE sssql16-md] Enterprise (Server+CAL license) and [!INCLUDE sssql16-md] Enterprise (Core License):
| Edition upgrade From | Edition upgrade to |
|---|---|
| [!INCLUDE sssql16-md] Enterprise (Server+CAL License) 2 | [!INCLUDE sssql16-md] Enterprise (Core License) |
| [!INCLUDE sssql16-md] Enterprise (Core License) | [!INCLUDE sssql16-md] Enterprise (Server+CAL License) |
1 Also applies to [!INCLUDE sssql16-md] Express with Tools and [!INCLUDE sssql16-md] Express with Advanced Services.
2 Changing the edition of a [!INCLUDE sssql16-md] failover cluster is limited. The following scenarios aren't supported for [!INCLUDE sssql16-md] failover clusters:
- [!INCLUDE sssql16-md] Enterprise to [!INCLUDE sssql16-md] Developer, Standard, or Evaluation.
- [!INCLUDE sssql16-md] Developer to [!INCLUDE sssql16-md] Standard or Evaluation.
- [!INCLUDE sssql16-md] Standard to [!INCLUDE sssql16-md] Evaluation.
- [!INCLUDE sssql16-md] Evaluation to [!INCLUDE sssql16-md] Standard.