Windows Server 2019 + Microsoft SQL 2017 Standard BAG with Cloud Witness step-by-step

Microsoft SQL

As I am rebuilding my lab from scratch, I decided to test and use SQL BAG. BAG stands for Basic Availability Groups.

I will use Windows Server 2019 and SQL Server 2017 Standard Edition.

The main difference with Always On Availability Groups is that you can only “protect” 1 database with a BAG, but on the other hand it only requires SQL Standard and not Enterprise.

For details regarding limitation, it’s here

Prerequisites

You will need :

  • At least 2 domain-joined Windows Server 2019 (one for each Node) up to date
  • Windows Server Enterprise or DataCenter Edition for Windows Failover Clustering Role
  • SQL Server 2017 Standard Edition
  • A Windows service account for SQL
  • Azure Storage Account (for Cloud Witness)

Implementation

1. Install Failover Clustering Feature

  • Within Server Manager, click on Manage > Add Roles and Features
  • Click on Next
  • Click on Next
  • Click on Next
  • Click on Next
  • Select Failover Clustering and click on Add Features
  • Click on Next
  • Click on Install
  • Click on Close and restart the server if needed

Note: The above steps need to be done on all other Nodes

2. Create Cluster

  • Within Server Manager, click on Tools > Failover Cluster Manager
  • Click on Create Cluster
  • Click on Next
  • Add your Nodes and click on Next
  • Provide a name for the Cluster and an IP, then click Next
  • Verify information and click on Next
  • Click on Finish

3. Configure Computer account

The SQL Cluster will need special permissions on AD, here are the steps

  • On a domain controller open Active Directory Users and Computers mmc
  • Click on View > Advanced Features
  • Make a right click on the OU where the SQL servers reside and select Properties
  • Click on Security tab
  • Click on Add
  • Click on Object Types…
  • Select Computers and click on OK
  • Provide name of the previously created Cluster and click on OK
  • Click on Advanced
  • Select the added computer and click on Edit
  • Select Create Computer objects permission and click on OK
  • Click on OK
  • Click on OK

Note: The SQL cluster computer account needs rights to create DNS records. The process of creating the Basic Availability Groups creates DNS “A” records for the Listeners.

  • On your local domain, make a right click and select Properties
  • Click on Security tab
  • Click on Add
  • Click on Object Types…
  • Select Computers and click on OK
  • Provide the name of the Cluster and click on OK
  • Check the box Create all child objects and click on OK

4. Install SQL Server Standard 2017

  • Launch Setup for source DVD
  • Within Installation section, click on New SQL Server stand-alone installation or add features to an existing installation
  • Click on Next
  • Accept the license terms and click on Next
  • Check the box Use Microsoft Update to check for updates and click on Next
  • Select SQL Server Replication (this will include Database Engine Services) and click on Next
  • Click on Next
  • For SQL Server Database Engine Account Name, select the drop box and click on Browse
  • Provide the name of the service Account and click on OK
  • Provide the password for the service account and click on Collation tab
  • Click on Customize
  • Select option as above and click on OK
  • Click on Next
  • I added my Current User and the service account. Click on Next
  • Click on Install
  • Click on Close
  • Click on Install SQL Server Management Tools
  • Download and install the latest version of SQL Server Management Studio
  • Click on Install

5. Configure AlwaysOn High Availability

  • Open SQL Server 2017 Configuration Manager
  • Select SQL Server, make a right click and select Properties
  • Click on AlwaysOn High Availability tab
  • Check the box Enable AlwaysOn Availability Groups and click on OK
  • Click on OK

Note: The above steps need to be done on each Node

6. Configure Quorum

  • Within Failover Cluster Manager console, select the Cluster, make a right click and select More Actions > Configure Cluster Quorum Settings
  • Click on Next
  • Select radio button Select the quorum witness and click on Next
  • Select radio button Configure a cloud witness and click on Next
  • Provide the account name, the account key and click on Next
  • Click on Next
  • Click on Finish
  • Ensure Witness shows Cloud Witness

Our SQL Basic Availability Group is now created we will see in the next article how to create a BAG for Citrix WorkSpace Environment Management.

Stay tuned …