Create a SQL Server AlwaysOn Cluster Deployment

Last updated: 4/28/2016

This template creates 5 new Azure VMs, each group load balancer and a VNet. It configures a primary and backup AD Domain Controller for a new Forest and Domain, two SQL Servers and witness in AlwaysOn configuration

This Azure Resource Manager template was created by a member of the community and not by Microsoft. Each Resource Manager template is licensed to you under a license agreement by its owner, not Microsoft. Microsoft is not responsible for Resource Manager templates provided and licensed by community members and does not screen for security, compatibility, or performance. Community Resource Manager templates are not supported under any Microsoft support program or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
adminUsername The name of the Administrator of the new VMs and Domain
adminPassword The password for the Administrator account of the new VMs and Domain
adVMSize The size of the AD VMs Created
sqlVMSize The size of the SQL VMs Created
witnessVMSize The size of the Witness VM Created
domainName The FQDN of the AD Domain created
sqlServerServiceAccountUserName The SQL Server Service Account name
sqlServerServiceAccountPassword The SQL Server Service Account password
sqlStorageAccountName The name of Sql Server Storage Account
sqlStorageAccountType The type of the Sql Server Storage Account created
dcStorageAccountName The name of DC Storage Account
dcStorageAccountType The type of the DC Storage Account created
virtualNetworkAddressRange The address range of the new VNET in CIDR format
staticSubnet The address range of the subnet static IPs are allocated from in the new VNET
sqlSubnet The address range of the SQL subnet created in the new VNET
adPDCNICIPAddress The IP address of the new AD VM
adBDCNICIPAddress The IP address of the new backup AD VM
sqlLBIPAddress The IP address of the new SQL Server Internal Load Balancer
deploymentPrefix The DNS Prefix for the Public IP Address for the Always On Cluster
virtualNetworkName Name of virtual network to be created
templatesBaseUrl Linked Templates base url
scriptsBaseUrl DSC Scripts base url
autoPatchingDay The day of a week for auto patching
autoPatchingStartHour The start hour of a day for auto patching
sqlAOAGName The Sql AlwaysOn Group Name
sqlAOListenerPort The Sql AG Listener port
sqlAOListenerName The Sql AG Listener Name
sqlServerVersion The Sql Server Version
numberOfSqlVMDisks The Sql VM Disk Size
workloadType The Sql VM work load type: GENERAL - general work load; DW - datawear house work load; OLTP - Transactional processing work load

Use the template

PowerShell
New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/sqlvm-alwayson-cluster/azuredeploy.json
Install and configure Azure PowerShell
Command line
azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/sqlvm-alwayson-cluster/azuredeploy.json
Install and Configure the Azure Cross-Platform Command-Line Interface