Work with multiple versions and instances of SQL Server

Applies to: SQL Server - Windows only

You can install multiple instances of SQL Server, or install SQL Server on a computer where earlier SQL Server versions are already installed.

Note

If you need to install multiple instances of SQL Server on Linux, see Deploy and connect to SQL Server Linux containers.

The following SQL Server-related items are compatible with the installation of multiple instances on the same computer:

  • Database Engine
  • Analysis Services
  • Reporting Services 1

1 Starting with SQL Server 2016 (13.x), SQL Server Reporting Services (SSRS) is installed separately.

You can upgrade earlier versions of SQL Server on a computer where other 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's an increment to the version number to differentiate it from earlier versions. This change to the version is used for many purposes, including:

  • displaying version information in the user interface
  • controlling how files are replaced during upgrade
  • applying service packs and cumulative updates
  • 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 (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.

For a list of features supported by the editions of SQL Server on Windows, see:

For a list of features supported by the editions of SQL Server on Linux, see:

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 from the Installation Wizard (Setup). For more information about how to uninstall SQL Server Compact, see Uninstall an existing instance of SQL Server (Setup).

Use 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.

The following table shows side-by-side support for each version of SQL Server on commonly supported versions of Windows with required versions of .NET installed:

Existing instance Side by side support
SQL Server 2022 (16.x) SQL Server 2008 (10.0.x) through SQL Server 2019 (15.x)
SQL Server 2019 (15.x) SQL Server 2008 (10.0.x) through SQL Server 2017 (14.x)
SQL Server 2017 (14.x) SQL Server 2008 (10.0.x) through SQL Server 2016 (13.x)
SQL Server 2016 (13.x) SQL Server 2008 (10.0.x) through SQL Server 2014 (12.x)

For more information, see Using SQL Server in Windows 8 and later.

SysPrep considerations

SQL Server SysPrep doesn't support side by side installation of prepared instances of SQL Server with earlier versions of SQL Server on the same computer. 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 2016 (13.x) and later versions can't be installed side-by-side with earlier versions of SQL Server on a computer that is running Windows Server 2008 R2 Server Core SP 1. For more information on Server Core installations, see Install SQL Server on Server Core.

Prevent 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 prevents an unexpected IP address/TCP port conflict that blocks an instance startup when a SQL Server Failover Cluster Instance fails to the standby node.