Skip navigation

Create SQL AvailabilityGroup listener on existing Always ON setup.

by pratraw
Last updated: 9/06/2021

Deploy SQL AvailabilityGroup listener on existing Always ON setup. This creates Listener on an existing SQL Availability Group, sets up corresponding load balancer rules and probe ports on Azure Load balancer to get the listener connections working.

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 licence 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 programme or service, and are made available AS IS without warranty of any kind.


Parameter Name Description
existingFailoverClusterName Specify the name of the failover cluster
existingSqlAvailabilityGroup Specify the name of SQL Availability Group for which listener is being created
existingVmList Specify the Virtual machine list participating in SQL Availability Group e.g. VM1, VM2. Maximum number is 6.
Listener Specify a name for the listener for SQL Availability Group
ListenerPort Specify the port for listener
ListenerIp Specify the available private IP address for the listener from the subnet the existing Vms are part of.
existingVnetResourcegroup Specify the resourcegroup for virtual network
existingVnet Specify the virtual network for Listener IP Address
existingSubnet Specify the subnet under Vnet for Listener IP address
existingInternalLoadBalancer Name of existing internal load balancer for the AG listener. Choose Standard Sku if the VMs are not in an availability set.
ProbePort Specify the load balancer port number (e.g. 59999)
Location Location for all resources.

Use the template


New-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri
Install and configure Azure PowerShell

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 deployment
az group deployment create --resource-group <my-resource-group> --template-uri
Install and Configure the Azure Cross-Platform Command-Line Interface