Upgrade a failover cluster instance
SQL Server supports upgrading a SQL Server failover cluster to a new version of SQL Server, to a new SQL Server service pack or cumulative update, or when installing to a new Windows service pack or cumulative update separately on all failover cluster nodes, with downtime limited to a single manual failover (or two manual failovers if failing back to the original primary).
Upgrading the Windows Server operating system of a node containing a failover cluster instance is not supported for operating systems before Windows Server 2012 R2. To upgrade a Windows Server failover cluster node running on Windows Server 2012 R2 or above, see Perform a rolling upgrade or update.
Support details are as follows:
SQL Server upgrade is supported both through the user interface and from the command prompt. You can run upgrade from the command prompt on each failover cluster node, or by using the SQL Server setup UI to upgrade each cluster node. For more information, see:
Install a new SQL Server failover cluster instance
The following scenarios are not supported as part of a SQL Server upgrade:
You cannot upgrade from a stand-alone instance of SQL Server to a failover cluster instance.
You cannot add features to a failover cluster instance. For example, you cannot add the Database Engine to an existing Analysis Services-only failover cluster instance.
You cannot downgrade a failover cluster instance to a stand-alone instance on any node of the Windows Server failover cluster.
Changing the edition of the failover cluster instance is limited to certain scenarios. For more information, see Supported Version and Edition Upgrades.
During the failover cluster instance upgrade, downtime is limited to failover time and the time that is required for upgrade scripts to run. If you follow the failover cluster instance rolling upgrade process below and meet all prerequisites on all nodes before you begin the upgrade process, your downtime is minimal. Upgrading SQL Server when memory-optimized tables are in use will take some extra time. For more information, see Plan and Test the Database Engine Upgrade Plan.
Before you begin, review the following important information:
Supported Version and Edition Upgrades: Verify that you can upgrade to SQL Server 2019 (15.x) from your version of the Windows operating system and version of SQL Server. For example, you cannot upgrade directly from a SQL Server 2005 failover clustering instance to SQL Server 2019 (15.x) or upgrade a failover cluster instance running on Windows Server 2003.
Choose a Database Engine Upgrade Method: Select the appropriate upgrade method and steps based on your review of supported version and edition upgrades and also based on other components installed in your environment to upgrade components in the correct order.
Plan and Test the Database Engine Upgrade Plan: Review the release notes and known upgrade issues, the pre-upgrade checklist, and develop and test the upgrade plan.
Hardware and Software Requirements for Installing SQL Server: Review the software requirements for installing SQL Server 2019 (15.x). If additional software is required, install it on each node before you begin the upgrade process to minimize any downtime.
Perform a rolling upgrade or update
To upgrade a SQL Server failover cluster instance to SQL Server 2019 (15.x), use SQL Server setup to upgrade each node participating in the failover cluster instance, one at a time, starting with the passive nodes. As you upgrade each node, it is left out of the possible owners of the failover cluster instance. If there is an unexpected failover, the upgraded nodes do not participate in the failover until Windows Server failover cluster role ownership is moved to an upgraded node by SQL Server setup.
By default, SQL Server setup automatically determines when to fail over to an upgraded node. This depends on the total number of nodes in the failover cluster instance and the number of nodes that have already been upgraded. When half of the nodes or more have already been upgraded, SQL Server setup causes a failover to an upgraded node when you perform upgrade on the next node. Upon failover to an upgraded node, the cluster group is moved to an upgraded node. All the upgraded nodes are put in the possible owners list and all the nodes that are not yet upgraded are removed from the possible owners list. As you upgrade each remaining node, it is added to the possible owners of the failover cluster instance.
This process results in downtime limited to one failover time and database upgrade script execution time during the whole failover cluster upgrade.
To control the failover behavior of cluster nodes during the upgrade process, run the upgrade operation at the command prompt and use the /FAILOVERCLUSTERROLLOWNERSHIP parameter. For more information, see Install SQL Server from the Command Prompt.
Upgrade with installation media
From the SQL Server installation media for the edition that matches the edition you are upgrading, double-click setup.exe in the root folder. You may be asked to install the prerequisites, if they are not previously installed.
After prerequisites are installed, the Installation Wizard starts the SQL Server Installation Center. To upgrade an existing instance of SQL Server, select your instance.
If SQL Server setup support files are required, SQL Server setup installs them. If you are instructed to restart your computer, restart before you continue.
The System Configuration Checker runs a discovery operation on your computer. To continue, Click OK..
On the Product Key page, enter the PID key for the new version edition that matches the edition of the old product version. For example, to upgrade an Enterprise failover cluster, you must supply a PID key for SQL Server Enterprise. Click Next to continue. Be aware that the PID key that you use for a failover cluster upgrade must be consistent across all failover cluster nodes in the same SQL Server instance.
On the License Terms page, read the license agreement, and then select the check box to accept the license terms and conditions. To help improve SQL Server, you can also enable the feature usage option and send reports to Microsoft. Click Next to continue. To end Setup, click Cancel.
On the Select Instance page, specify the SQL Server instance to upgrade to SQL Server 2019 (15.x). Click Next to continue.
On the Feature Selection page, the features to upgrade are preselected. A description for each component group appears in the right pane after you select the feature name. Be aware that you cannot change the features to be upgraded, and you cannot add features during the upgrade operation. To add features to an upgraded instance of SQL Server 2014 (12.x) after the upgrade operation is complete, see Add Features to an Instance of SQL Server 2016 (Setup).
The prerequisites for the selected features are displayed on the right-hand pane. SQL Server Setup will install the prerequisite that are not already installed during the installation step described later in this procedure. To save time, you should pre-install these prerequisites on each node.
On the Instance Configuration page, fields are automatically populated from the old instance. You can choose to specify the new InstanceID value.
Instance ID - By default, the instance name is used as the Instance ID. This is used to identify installation directories and registry keys for your instance of SQL Server. This is the case for default instances and named instances. For a default instance, the instance name and instance ID would be MSSQLSERVER. To use a nondefault instance ID, select the Instance ID check box and provide a value. If you override the default value, you must specify the same Instance ID for the instance being upgraded on all the failover cluster nodes. The Instance ID for the upgraded instance must match across the nodes.
Detected instances and features - The grid shows instances of SQL Server that are on the computer where setup is running. Click Next to continue.
The Disk Space Requirements page calculates the required disk space for the features that you specify, and compares requirements to the available disk space on the computer where Setup is running.
On the Full-Text Search Upgrade page, specify the upgrade options for the databases being upgraded. For more information, see Full-Text Search Upgrade Options.
On the Error Reporting page, specify the information that you want to send to Microsoft that will help improve SQL Server. By default, options for error reporting is enabled.
The System Configuration Checker runs one more set of rules to validate your computer configuration with the SQL Server features that you have specified, before the upgrade operation begins.
The Cluster Upgrade Report page displays the list of nodes in the failover cluster instance and the instance version information for SQL Server components on each node. It displays the database script status and replication script status. In addition, it also displays informational messages on what will occur when you click Next. Depending on the number of failover cluster nodes that have already been upgraded and total number of nodes, setup displays the failover behavior that happens when you click Next. It also warns about potential unnecessary downtime if you have not installed the prerequisites already.
The Ready to Upgrade page displays a tree view of installation options that were specified during Setup. To continue, click Upgrade. SQL Server Setup will first install the required prerequisites for the selected features followed by the feature installation.
During upgrade, the Progress page provides status so that you can monitor the upgrade progress on the current node as Setup continues.
After the upgrade of the current node, the Cluster Upgrade Report page displays an upgrade status information for all the failover cluster nodes, features on each failover cluster node, and their version information. Confirm the version information that is displayed and continue with the upgrade of the remaining nodes. If the failover to upgraded nodes occurred, this is also apparent on the status page. You can also check in the Windows Cluster administrator tool to confirm.
After upgrade, the Complete page provides a link to the summary log file for the installation and other important notes. To complete the SQL Server installation process, click Close.
If you are instructed to restart the computer, do so now. It is important to read the message from the Installation Wizard when you have finished with Setup. For more information about Setup log files, see View and Read SQL Server Setup Log Files.
To complete the upgrade process, repeat these steps on all the other nodes of the SQL Server failover cluster instance.
Upgrade a multi-subnet failover cluster instance
Follow these steps to upgrade your Always On failover cluster instance in a multi-subnet environment.
To upgrade to a SQL Server multi-subnet failover cluster instance (Existing SQL Server cluster is a non multi-subnet cluster).
Follow the steps above to upgrade your failover cluster instance.
To add a new node on a different subnet using the AddNode Setup action and confirm the IP address resource dependency to OR on the Cluster Network Configuration page. For more information, see Add or Remove Nodes in an Always On failover cluster instance (Setup).
To upgrade a multi-subnet failover cluster instance currently using Stretch VLAN to use multi-subnet.
Follow the steps above to upgrade your cluster to SQL Server 2019 (15.x).
Change the network settings to move the remote node to a different subnet.
Using Failover Cluster Manager or PowerShell, add a new IP address for the new subnet to set the IP address resource dependency to OR.
After you upgrade to SQL Server 2019 (15.x), complete the following tasks: