Deploys SQL Server 2014 AlwaysOn AG on existing VNET & AD

Last updated: 11/03/2017

This template creates three new Azure VMs on an existing VNET: Two VMs are configured as SQL Server 2014 AlwaysOn Availability Group replica nodes and one VM is configured as a File Share Witness for automated cluster failover. In addition to these VMs, the following additional Azure resources are also configured: Internal load balancer, Storage accounts. To configure clustering, SQL Server and AlwaysOn within each VM, PowerShell DSC is leveraged. For Active Directory support, existing Active Directory domain controllers should already be deployed on the existing VNET.

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

Parameters

Parameter Name Description
namePrefix Naming prefix for each new resource created. 8-char max, lowercase alphanumeric
storageAccountType Type of new Storage Accounts (Standard_LRS, Standard_GRS, Standard_RAGRS or Premium_LRS) to be created to store VM disks
sqlVMSize Size of the SQL VMs to be created
sqlWitnessVMSize Size of the Witness VM to be created
existingDomainName DNS domain name for existing Active Directory domain
adminUsername Name of the Administrator of the existing Active Directory Domain
adminPassword Password for the Administrator account of the existing Active Directory Domain
sqlServerServiceAccountUserName The SQL Server Service account name
sqlServerServiceAccountPassword The SQL Server Service account password
existingVirtualNetworkId Resource ID of the existing VNET. You can find the Resource ID for the VNET on the Properties blade of the VNET.
existingSqlSubnetName Name of the existing subnet in the existing VNET to which the SQL & Witness VMs should be deployed
existingAdPDCVMName Computer name of the existing Primary AD domain controller & DNS server
sqlLBIPAddress IP address of ILB for the SQL Server AlwaysOn listener to be created
_artifactsLocation Location of resources that the script is dependent on such as linked templates and DSC modules
_artifactsLocationSasToken The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated.

Use the template

PowerShell
New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/sql-server-2014-alwayson-existing-vnet-and-ad/azuredeploy.json
Installing and configuring 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/sql-server-2014-alwayson-existing-vnet-and-ad/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface