Introducing SQL Server Always On availability groups on Azure virtual machines

This article introduces SQL Server availability groups on Azure Virtual Machines.

Always On availability groups on Azure Virtual Machines are similar to Always On availability groups on premises. For more information, see Always On Availability Groups (SQL Server).

The diagram illustrates the parts of a complete SQL Server Availability Group in Azure Virtual Machines.

Availability Group

The key difference for an Availability Group in Azure Virtual Machines is that the Azure virtual machines, require a load balancer. The load balancer holds the IP addresses for the availability group listener. If you have more than one availability group each group requires a listener. One load balancer can support multiple listeners.

Additionally, on an Azure IaaS VM guest failover cluster, we recommend a single NIC per server (cluster node) and a single subnet. Azure networking has physical redundancy which makes additional NICs and subnets unnecessary on an Azure IaaS VM guest cluster. Although the cluster validation report will issue a warning that the nodes are only reachable on a single network, this warning can be safely ignored on Azure IaaS VM guest failover clusters.

Windows Server Version SQL Server Version SQL Server Edition WSFC Quorum Config DR with Multi-region Multi-subnet support Support for an existing AD DR with multi-zone same region Dist-AG support with no AD domain Dist-AG support with no cluster
SQL VM CLI 2016 2017
2016
Ent Cloud witness No Yes Yes Yes No No
Quickstart Templates 2016 2017
2016
Ent Cloud witness No Yes Yes Yes No No
Portal Template 2016
2012 R2
2016
2014
Ent File share No No No No No No
Manual All All All All Yes Yes Yes Yes Yes Yes
                     

When you are ready to build a SQL Server availability group on Azure Virtual Machines, refer to these tutorials.

Manually with Azure CLI

Using Azure CLI to configure and deploy an availability group is the recommended option, as it's the best in terms of simplicity and speed of deployment. With Azure CLI, the creation of the Windows Failover Cluster, joining SQL Server VMs to the cluster, as well as the creation of the listener and Internal Load Balancer can all be achieved in under 30 minutes. This option still requires a manual creation of the availability group, but automates all the other necessary configuration steps.

For more information, see Use Azure SQL VM CLI to configure Always On availability group for SQL Server on an Azure VM.

Automatically with Azure Quickstart Templates

The Azure Quickstart Templates utilize the SQL VM resource provider to deploy the Windows Failover Cluster, join SQL Server VMs to it, create the listener, and configure the Internal Load Balancer. This option still requires a manual creation of the availability group, and Internal Load Balancer (ILB) but automates and simplifies all the other necessary configuration steps (including the configuration of the ILB).

For more information, see Use Azure Quickstart Template to configure Always On availability group for SQL Server on an Azure VM.

Automatically with an Azure Portal Template

Configure Always On availability group in Azure VM automatically - Resource Manager

Manually in Azure portal

You can also create the virtual machines yourself without the template. First, complete the prerequisites, then create the availability group. See the following topics:

Next steps

Configure a SQL Server Always On Availability Group on Azure Virtual Machines in Different Regions