SQL Server supports multiple instances of the Database Engine, Analysis Services, and Reporting Services on the same computer. You can also upgrade earlier versions of SQL Server, or install SQL Server on a computer where earlier SQL Server versions are already installed. For supported upgrade scenarios, see Supported Version and Edition Upgrades.
Version Components and Numbering
The following concepts are useful in understanding the behavior of SQL Server for side-by-side instances of SQL Server.
The standard product version format for SQL Server is MM.nn.bbbb.rr where each segment is defined as:
MM - Major version
nn - Minor version
bbbb - Build number
rr - Build revision number
In each major or minor release of SQL Server, there is an increment to the version number to differentiate it from earlier versions. This change to the version is used for many purposes. This includes displaying version information in the user interface, controlling how files are replaced during upgrade, applying service packs, and also as a mechanism for functional differentiation between the successive versions.
Components shared by all versions of SQL Server
Certain components are shared by all instances of all installed versions of SQL Server. When you install different versions of SQL Server side-by-side on the same machine, these components are automatically upgraded to the latest version. Such components are usually uninstalled automatically when the last instance of SQL Server is uninstalled.
Examples: SQL Server Browser and Microsoft SQL Server VSS Writer.
Components shared across all instances of the same major version of SQL Server
SQL Server versions that have the same major version share some components across all instances. If the shared components are selected during upgrade, the existing components are upgraded to the latest version.
Examples: Integration Services, Master Data Services, SQL Server Management Studio, SQL Server Data Tools (SSDT), and SQL Server Books Online.
Components shared across minor versions
SQL Server versions that have the same major.minor version shared components.
Example: Setup support files.
Components specific to an instance of SQL Server
Some SQL Server components or services are specific to an instance of SQL Server. These are also known as instance-aware. They share the same version as the instance that hosts them, and are used exclusively for that instance.
Examples: Database Engine, Analysis Services, and Reporting Services.
Components that are independent of the SQL Server versions
Certain components are installed during SQL Server setup, but are independent of the versions of SQL Server. They may be shared across major versions or by all SQL Server versions.
Examples: Microsoft Sync Framework, SQL Server Compact.
For more information about SQL Server Compact installation, see Install SQL Server 2016 from the Installation Wizard (Setup). For more information about how to uninstall SQL Server Compact, see Uninstall an Existing Instance of SQL Server (Setup).
Using SQL Server Side-By-Side with Previous Versions of SQL Server
You can install SQL Server on a computer that is already running instances of an earlier SQL Server version. If a default instance already exists on the computer, SQL Server must be installed as a named instance.
SQL Server SysPrep does not support side by side installation of prepared instances of SQL Server 2017 with earlier versions of SQL Server on the same computer. For example, you cannot prepare a SQL Server 2017 instance side by side with a prepared instance of SQL Server 2012. However, you can install multiple prepared instances of the same major version of SQL Server side by side on the same computer. For more information, see Considerations for Installing SQL Server Using SysPrep.
SQL Server 2017 cannot be installed side-by-side with earlier versions of SQL Server on a computer that is running Windows Server 2008 R2 Server Core SP1. For more information on Server Core installations, see Install SQL Server 2016 on Server Core.
The following table shows side-by-side support for SQL Server 2017:
|Existing instance of SQL Server 2017||Side-by-side support|
|SQL Server 2017 (64-bit) x64|| SQL Server 2005 (32-bit)
SQL Server 2005 (64-bit) x64
SQL Server 2008 (32-bit)
SQL Server 2008 (64-bit) x64
SQL Server 2008 R2 (32-bit)
SQL Server 2008 R2 (64-bit) x64
SQL Server 2012 (32-bit)
SQL Server 2012 (64-bit) x64
SQL Server 2014 (32-bit)
SQL Server 2014 (64-bit) x64
Preventing IP Address Conflicts
When a SQL Server Failover Cluster Instance is installed side-by-side with a standalone instance of the SQL Server Database Engine, take care to avoid TCP port number conflicts on the IP addresses. Conflicts usually occur when two instances of the Database Engine are both configured to use the default TCP port (1433). To avoid conflicts, configure one instance to use a non-default fixed port. Configuring a fixed port is usually easiest on the standalone instance. Configuring the Database Engine to use different ports will prevent an unexpected IP Address/TCP port conflict that blocks an instance startup when a SQL Server Failover Cluster Instance fails to the standby node
Hardware and Software Requirements for Installing SQL Server 2016
Install SQL Server 2016 from the Installation Wizard (Setup)
Supported Version and Edition Upgrades
Upgrade to SQL Server 2016
Features Supported by the Editions of SQL Server 2016