How to: Upgrade a SQL Server Failover Cluster Instance (Setup)
You can upgrade a SQL Server failover cluster to a SQL Server 2008 failover cluster by using the SQL Server Installation Wizard or a command prompt. One of the main features of SQL Server 2008 failover clustering is minimal downtime for rolling upgrades and updates.
During the failover cluster upgrade, downtime is limited to failover time and the time that is required for upgrade scripts to run. If you follow the failover cluster rolling upgrade process, your downtime is minimal. Depending on whether you have all the prerequisites on the failover cluster nodes, you might incur additional downtime while you install these prerequisites. For more information about how to minimize the downtime during upgrade, see the Best Practices Before Upgrading Failover Cluster section on this page.
For more information about the failover cluster rolling update process, see the related article in the Microsoft Knowledge Base.
For more information about how to install a stand-alone instance of SQL Server, see How to: Install SQL Server 2008 R2 (Setup).
For more information about sample syntax for command prompt usage, see How to: Install SQL Server 2008 R2 from the Command Prompt.
You may need to apply cumulative updates to the original media before you install SQL Server 2008 R2, if you are affected by a known issue in the setup program. For more information about known issues and detailed instructions, see How to update SQL Server 2008 R2 Setup by running a newer version of the SQL Server 2008 R2 Setup support files.
Before you begin, review the following important information:
Recommended private heartbeat configuration in the Microsoft Knowledge Base
Setup does not install .NET Framework 3.5 SP1 on a clustered operating system. You must install .NET Framework 3.5 SP1 before you run Setup.
For local installations, you must run SQL Server Setup as an administrator. If you install SQL Server from a remote share, you must use a domain account that has read and execute permissions on the remote share.
To upgrade an instance of SQL Server to a SQL Server 2008 failover cluster, the instance being upgraded must be a failover cluster. To upgrade a stand-alone instance of SQL Server to a SQL Server 2008 failover cluster, install a new SQL Server 2008 failover cluster, and then migrate user databases from the stand-alone instance by using the Copy Database Wizard. For more information, see Using the Copy Database Wizard.
To upgrade a SQL Server failover cluster to SQL Server 2008, you must run setup with upgrade action on each failover cluster node, 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. If there is an unexpected failover, the upgraded nodes do not participate in the failover until cluster resource group ownership is moved to an upgraded node by SQL Server Setup.
By default, 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, 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.
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 How to: Install SQL Server 2008 R2 from the Command Prompt.
If there is a single-node failover cluster, SQL Server Setup takes the SQL Server resource group offline.
Considerations when upgrading from SQL Server 2005:
If you specified domain groups for the cluster security policy, you cannot specify service SID on Windows Server 2008. If you want to use the service SID, you need to perform a side by side upgrade.
When you select Database Engine for upgrade, full-text search is included in the setup regardless of whether it was installed in SQL Server 2005.
If full-text search was enabled in SQL Server 2005, Setup rebuilds the full-text search catalog regardless of the options available to you.
Best Practices Before Upgrading a SQL Server Failover Cluster
To eliminate unexpected downtime caused by a restart, preinstall the prerequisites on all the failover cluster nodes before you run the upgrade on the cluster nodes. We recommend the following steps to preinstall the prerequisites:
Upgrade only the shared components starting with the passive nodes. This installs .NET Framework 3.5 SP1, Windows Installer 4.5, and SQL Server support files.
Restart one or more times, as required.
For Database Engine installations on Windows Server 2003 SP2, install the Windows Server hotfix needed for FileStream. For more information, see Error message when you try to create a cluster file share resource in a Windows Server 2003-based cluster: "System error 87 has occurred (0X00000057)" in the Microsoft Knowledge Base. Select the matching platform and operating system for your servers.
Fail over to an upgraded node.
Upgrade the shared components on the last remaining node.
After all the shared components are upgraded and prerequisites are installed, start the failover cluster upgrade process. You have to run upgrade on each failover cluster node, starting with the passive nodes first and making your way toward the node that owns the cluster resource group.
You cannot add features to an existing failover cluster.
Changing the edition of the failover cluster is limited to certain scenarios. For more information, see Version and Edition Upgrades.
To upgrade a SQL Server failover cluster
Insert the SQL Server installation media, and from the root folder, double-click Setup.exe. To install from a network share, move to the root folder on the share, and then double-click Setup.exe. You may be asked to install the prerequisites, if they are not previously installed.
Windows Installer 4.5 is also required, and may be installed by the Installation Wizard. If you are prompted to restart your computer, restart and then start Setup.exe again.
For more information about steps 3 and 4, see the Best Practices Before Upgrading Failover Cluster section.
After prerequisites are installed, the Installation Wizard starts the SQL Server Installation Center. To upgrade an existing instance of SQL Server 2008, click Upgrade from SQL Server 2000 or SQL Server 2005.
If 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. At this point, Setup log files are created for your installation. For more information about log files, see How to: View and Read SQL Server Setup Log Files.
On the Language Selection page, you can specify the language for your instance of SQL Server if you are installing on a localized operating system and the installation media includes language packs for both English and the language corresponding to the operating system. For more information about cross-language support and installation considerations, see Local Language Versions in SQL Server.
To continue, click Next.
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 2008 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. For more information, see Editions and Components of SQL Server 2008 R2 and Version and Edition Upgrades.
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 2008. 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 2008 after the upgrade operation is complete, see How to: Add Features to an Instance of SQL Server 2008 R2 (Setup).
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. For more information, see Disk Space Requirements.
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 to help improve SQL Server. By default, option for error reporting is enabled. For more information, see Error Reporting.
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.
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 How to: View and Read SQL Server Setup Log Files.
To complete the upgrade process, repeat steps 1 to 21 on all the other nodes on the SQL Server failover cluster.
After you upgrade to SQL Server 2008, complete the following tasks:
Register your servers
Upgrade removes registry settings for the previous SQL Server instance. After you upgrade, you must reregister your servers.
To help optimize query performance, we recommend that you update statistics on all databases following upgrade. Use the sp_updatestats stored procedure to update statistics in user-defined tables in SQL Server databases.
Configure your new SQL Server installation
To reduce the attackable surface area of a system, SQL Server selectively installs and enables key services and features. For more information about surface area configuration, see the readme file for this release.