Install SQL Server 2017 on Windows Server 2016 Failover Cluster - Part 1
In a previous tip on Step-by-step Installation of SQL Server 2016 on a Windows Server 2016 Failover Cluster - Part 1, I have seen how to install a SQL Server 2016 on a Windows Server 2016 failover cluster (WSFC). We are deploying SQL Server 2017 failover clusters running on Windows Server 2016. How do I go about installing and configuring a SQL Server 2017 failover cluster on Windows Server 2016?
The process of installing and configuring a Windows Server 2016 failover cluster the traditional way - with Active Directory-joined servers and shared storage for the SQL Server databases - is the same as outlined in Part 1 and Part 2 of the series on Step-by-step Installation of SQL Server 2016 on a Windows Server 2016 Failover Cluster. Refer to those tips to install and configure a Windows Server 2016 failover cluster. This tip will focus on installing and configuring a SQL Server 2017 failover clustered instance.
Installing a SQL Server 2017 Failover Clustered Instance (FCI)
The steps outlined below will install a default SQL Server 2017 FCI. Choose a server in the WSFC to initiate the installation process.
- Run setup.exe from the SQL Server 2017 installation media to launch SQL Server Installation Center. Click on the Installation link on the left-hand side.
- Click the New SQL Server failover cluster installation link. This will run the SQL Server 2017 Setup wizard.
- In the Product Key dialog box, enter the product key that came with your installation media and click Next.
- In the License Terms dialog box, click the I accept the license terms check box and click Next.
- In the Global Rules dialog box, validate that the checks return successful results and click Next.
- In the Microsoft Update dialog box, you have the option to include SQL Server product updates in the installation process. By default, it searches for product updates thru the Microsoft Updates service online, on the assumption that the server has access to the Internet. In cases where your servers do not have access to the internet, you can manually download the updates and store them on a network shared folder. Installing a SQL Server FCI while slipstreaming the latest cumulative update will be covered in the section Installing a SQL Server 2017 Failover Clustered Instance (FCI) with Slipstreamed Updates. Click Next.
- In the Install Failover Cluster Rules dialog box, validate that the checks return successful results. If the checks returned a few warnings, make sure you fix them before proceeding with the installation. Click Next. Be aware that you will get a warning result for Microsoft Cluster Service (MSCS) cluster verification warnings as a side effect of the storage spaces direct (S2D) checks described in this tip.
- In the Feature Selection dialog box, select the following components Database Engine Services and Client Tools Connectivity. Click Next. Note that starting with SQL Server 2016, SQL Server Management Studio is no longer included in the installation media. You will have to download it separately if you want it installed on your servers which I don’t recommend. Only install the database engine on your servers and use a client workstation to manage them remotely.
- In the Feature Rules dialog box, verify that all the rules have passed. If the rules returned a few warnings, make sure you fix them before proceeding with the installation. Click Next.
- In the Instance Configuration dialog box, provide a value for the SQL Server Network Name. This is the name that the client applications will use to connect to this server. This name will be created as a virtual computer object (VCO) in Active Directory. Be sure that the appropriate permissions are assigned to the cluster name object (CNO) associated with the WSFC as outlined in this Microsoft article.
A couple of things need highlighting in this section. By default, the instance name is used as the Instance ID. This is used to identify installation directories and registry keys for this specific instance of SQL Server. This is very useful when you want to run multiple instances in a WSFC. It applies to both the default instance and named instances. For a default instance, the instance name and instance ID would be MSSQLSERVER. To use a non-default instance ID, you should specify a value in the Instance ID text box. Click Next.
- In the Cluster Resource Group dialog box, check the resources available on your WSFC. This tells you that a new Resource Group will be created on your WSFC for the SQL Server FCI. To specify the SQL Server cluster resource group name, you can either use the drop-down box to specify an existing group to use or type the name of a new group to create it. Accept all the defaults and click Next.
- In the Cluster Disk Selection dialog box, select the available disk groups that are on the WSFC for the SQL Server FCI to use. Click Next. The list of disks displayed in this dialog box will depend on how you configured shared disk resources in your WSFC. This is where you'll see the value of renaming the shared disk resources as done in this tip.
- In the Cluster Network Configuration dialog box, enter the IP address and subnet mask values that your SQL Server FCI will use. Select the IPv4 checkbox under the IP Type column as you will be using a static IP address. Click Next. The SQL Server Network Name with this virtual IP address will be created as an entry in your DNS server. Again, this is where you'll see the value of renaming the cluster network resources as done in this tip.
- In the Server Configuration dialog box, provide the credentials for the SQL Server service accounts in the Service Accounts tab. Make sure that both the SQL Server Agent and SQL Server Database Engine services have a Startup Type of Manual. The WSFC will take care of stopping and starting these services. Select the checkbox Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine Service. This enables Instant File Initialization for SQL Server as highlighted in this tip. Because this is a local permission assigned to an account, you need to explicitly do this on all the nodes in the SQL Server FCI. Click Next.
- In the Database Engine Configuration dialog box, under
the Server Configuration tab,
- Select Windows authentication mode in the Authentication Mode section. If required, you can change it later after the installation is complete.
- Add the currently logged on user to be a part of the SQL Server administrators group by clicking the Add Current User button in the Specify SQL Server Administrators section. You can also add Active Directory domain accounts or security groups as necessary.
In the Data Directories tab, specify the location of the data files, the log files and the backup files.
In the TempDB tab, you can set the number of tempdb data files, initial size and autogrowth settings of both data and log files as well as their corresponding locations.
NOTE: You also have the option to store your tempdb database files on a local disk in a WSFC. You can still choose to host the tempdb database on shared storage like the one provided in this example. Should you decide to store tempdb on a local disk, you will get prompted to make sure that all the nodes in the WSFC contain the same directory structure and that the SQL Server service account has read/write permissions on those folders.
- In the Feature Configuration Rules dialog box, verify that all checks are successful. Click Next.
- In the Ready to Install dialog box, verify that all configuration settings are correct. Click Install to proceed with the installation.
- In the Complete dialog box, click Close. This concludes the installation of a SQL Server 2017 FCI.
Installing a SQL Server 2017 Failover Clustered Instance (FCI) with Slipstreamed Updates
You can choose to slipstream updates as part of the SQL Server 2017 FCI installation as described in the tip Slipstream Installation of Service Packs and Cumulative Updates on SQL Server 2016 and Higher to reduce deployment time and effort. Similar to the steps outlined in the tip, this requires installing SQL Server from the command line. But unlike installing a standalone instance, a SQL Server FCI requires the /Action=InstallFailoverCluster parameter. The example command below references the \\CentralFileServer\SQLServer2017CUs\CU20 shared folder to look for SQL Server 2017 updates.
setup.exe /Action=InstallFailoverCluster /UpdateEnabled=True /UpdateSource="\\CentralFileServer\SQLServer2017CUs\CU20"
The Product Updates section of the installation process will confirm whether the updates have been detected.
Proceed with the SQL Server installation process as outlined in the previous section Installing a SQL Server 2017 Failover Clustered Instance (FCI). The Ready to Install section of the installation process will also confirm the SQL Server version number after the installation. In this example, the installation media is using the RTM version of SQL Server 2017 (14.00.1000.169) while the update contains SQL Server 2017 CU 20 (14.0.3294.0) as shown in the Update Version: field.
At the completion of a successful installation and configuration of the node, you now have a fully functional SQL Server 2017 FCI. To validate, open the Failover Cluster Manager console and click on SQL Server (MSSQLSERVER) under Roles. Make sure that all dependencies are online.
Although you have a fully functioning SQL Server 2017 FCI, it is not highly availability yet because the SQL Server binaries are only installed on one of the nodes in the WSFC. To make it highly available, you still have to add the second node of the WSFC to the SQL Server FCI.
In the next tip in this series, you will add the second node in the SQL Server FCI and test client application connectivity.
- Review the previous tips on Step-by-step Installation of SQL Server 2016 on a Windows Server 2016 Failover Cluster Part 1 and Part 2 to install and configure a WSFC in preparation for installing a SQL Server 2017 FCI
- Read more on the following topics:
Last Updated: 2020-06-30
About the author
View all my tips