This is Part 4 of the SQL 2017 Always-On Availability Group installation series. In this post we will manually install SQL 2017 on the first node of the cluster. We will then capture an answer file for SQL, which will be used for an unattended SQL installation on Node B (Part 5).
SQL 2017 Node A Installation
1. Mount the SQL 2017 Enterprise Edition ISO to the first VM and launch the installer.
2. On the left side click on Installation, then click on the top option "New SQL server stand-alone.."
3. On the Product Key screen accept/enter your key.
4. On the License Terms screen check the box to accept the terms.
5. On the Microsoft Update screen configure as you see fit.
6. On the Install Rules screen verify everything is green, with the possible exception of the Windows firewall which may be yellow (normal).
7. On the Feature Selection screen select at least the Database Engine Services option. If you need additional features, select them. At the bottom of the window change the SQL binary installation paths as needed.
8. On the Instance Configuration screen configure your instance as needed. For this series I'm leaving the default settings.
9. On the Server Configuration set the agent and database engine accounts to their respective gMSA. No password is needed since that is handled by Windows. There's no need to check the box for granting Volume Maintenance privileges as we manually did that in a previous post by configuring user rights.
10. On the Database Engine Configuration screen select the authentication mode and add the AD SQL Admin group you are using to the list of administrators. Windows authentication mode is the most secure, so only select mixed mode if you know an application requires it.
11. Configure the SQL database engine directories as desired. I'm using the drives covered in previous posts.
12. TempDB configuration will vary wildly between instances. Some applications make very heavy use of TempDB, while others barely use it. SQL 2017 also bases the initial number of TempDB files on the quanity of CPUs assigned to the VM. The key here is to make sure you have an adequate number of TempDB files, and if you are using Nutanix storage, put them on separate disks. Make sure you set all the proper paths including the Log directory.
13. On the Ready to Install screen copy the configuration file path to the clipboard, as we will need it later. Once the installation starts, browse to the INI file and copy it to a safe location so we can use it in the next post.
14. After the installation completes for the database engine, we now need to install the SQL Server Management Tools. Launch the SQL installer again but this time select Install SQL Server Management Tools. This will actually redirect you to a live web page where you have to download the latest 800MB+ tool package. Install the package.
15. From the Start menu launch the SQL Server Management Studio and validate that you can successfully login. If your login does not work reboot the SQL VM and try again.
In this post we installed the first instance of SQL 2017 using the manual method. We were careful to select the proper paths for all the files, and copied the SQL configuration INI file to a safe place. In Part 5, we will use this INI for an unattended installation on the second node. This reduces human error and ensures both nodes are configured the same. Unlike SQL 2014 and earlier, the management tools are a separate download and install process.
SQL 2017 Installation Series Index
SQL 2017 Always-on AG Pt. 1: Introduction
SQL 2017 Always-on AG Pt. 2: VM deployment
SQL 2017 Always-on AG Pt. 3: Service Accounts
SQL 2017 Always-on AG Pt. 4: Node A SQL Install
SQL 2017 Always-on AG Pt. 5: Node B SQL Install
SQL 2017 Always-on AG Pt. 6: Cluster Configuration
SQL 2017 Always-on AG Pt. 7: File Share Witness
SQL 2017 Always-on AG Pt. 8: AAG Setup
SQL 2017 Always-on AG Pt. 9: Kerberos (Coming)
SQL 2017 Always-on AG Pt. 10: SSL Certificates (Coming)
SQL 2017 Always-on AG Pt. 11: Max Mem & Email Alerts (Coming)
SQL 2017 Always-on AG Pt. 12: Maintenance Jobs (Coming)