This template creates Azure VMs on an existing VNET, and provisions a SQL Server 2016 or 2017 AlwaysOn Availability Group cluster across AZ's
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 |
---|---|
location | Azure region that supports Availability Zones |
namePrefix | Naming prefix for each new resource created. 3-char min, 8-char max, lowercase alphanumeric |
vmSize | Size of the SQL Server VMs to be created |
sqlVMImage | VM Image Offer to use for provisioning SQL VMs |
sqlVMImageSku | SQL Image Sku |
vmCount | Number of SQL Server VMs to be created in AlwaysOn Availability Group cluster (Min=2, Max=9) |
vmDiskSize | Size of each data disk in GB on each SQL Server VM (Min=128, Max=1023) |
vmDiskCount | Number of data disks on each SQL Server VM (Min=2, Max=32). Ensure that the VM size you've selected will support this number of data disks. |
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 |
sqlServiceAccount | Name of the user account to be used for the SQL Server service account. Do not use the same account speficied in adminUsername parameter |
sqlServicePassword | Password to be used for the SQL Server service account |
existingVirtualNetworkRGName | Resource Group Name for the existing VNET. |
existingVirtualNetworkName | Name of the existing VNET. |
existingSubnetName | Name of the existing subnet in the existing VNET to which the SQL Server VMs should be deployed |
enableOutboundInternet | Enable outbound Internet access via source NAT to support ongoing VM Agent extension communication needs |
workloadType | SQL DB workload type: GENERAL - General workload; DW - Data Warehouse workload; OLTP - Transactional Processing workload |
_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-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deploymentInstalling and configuring Azure PowerShell
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/301-sql-alwayson-md-ilb-zones/azuredeploy.json
Command line
az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deploymentInstalling and configuring the Azure cross-platform command-line interface
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/301-sql-alwayson-md-ilb-zones/azuredeploy.json