{"id":1698,"date":"2019-02-07T00:00:00","date_gmt":"2019-02-07T00:00:00","guid":{"rendered":""},"modified":"2025-06-13T11:34:44","modified_gmt":"2025-06-13T18:34:44","slug":"simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/","title":{"rendered":"Simplify Always On availability group deployments on Azure VM with SQL VM CLI"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both. <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/windows\/sql\/virtual-machines-windows-portal-sql-availability-group-tutorial\" target=\"_blank\" rel=\"noreferrer noopener\">Manually deploying an availability group for SQL Server on Azure Virtual Machines<\/a> (VM) is a complex process that requires understanding of Azure\u2019s infrastructure, but new enhancements have greatly simplified the process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We recently published a new method to <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/automate-always-on-availability-group-deployments-with-sql-virtual-machine-resource-provider\/\" target=\"_blank\" rel=\"noreferrer noopener\">automate Always On AG deployments on Azure VM with SQL Virtual Machine Resource Provider<\/a> via Azure quickstart templates. Today, we are proud to share that we have further simplified this automation with <a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/sql\/vm?view=azure-cli-latest\" target=\"_blank\" rel=\"noreferrer noopener\">Azure SQL VM CLI<\/a>, the management API for <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/sql-server-on-azure-virtual-machine-resource-provider\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQL VM resource provider<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deploying an Always On AG configuration for <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/windows\/sql\/virtual-machines-windows-sql-server-iaas-overview\" target=\"_blank\" rel=\"noreferrer noopener\">SQL Server on Azure VM<\/a> is now possible with following simple steps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"define-windows-failover-cluster-metadata\">Define Windows Failover Cluster metadata<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/sql\/vm\/group?view=azure-cli-latest\">az sql vm group<\/a> manages the metadata about the Windows Failover Cluster service that will host the Always On AG. Cluster metadata includes the Active Directory (AD) domain, cluster accounts, and the storage account to be used as cloud witness and SQL Server version. Use <a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/sql\/vm\/group?view=azure-cli-latest#az-sql-vm-group-create\">az sql vm group create <\/a>to define the Windows Failover Cluster metadata so that when the first VM is added, the cluster will be created as defined. An example command is provided below.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\naz sql vm group create -n -l -g --image-offer --image-sku Enterprise --domain-fqdn --operator-acc --bootstrap-acc --service-acc --sa-key \u2018\u2019 --storage-account \u2018<ex:https:\/\/cloudwitness.blob.core.windows.net\/>\u2019\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">We only support AD domain joined Windows Failover Cluster definition. The FQDN is a must have property and all AG replicas should already be joined to the AD domain before they are added to the cluster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can use any existing storage account as a Cloud Witness in the cluster, or you can create a new storage account. An example an Azure CLI command to create the storage account is below:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\naz storage account create -n -g -l --sku Standard_LRS --kind StorageV2 --access-tier Hot --https-only true\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"add-sql-vms-to-the-cluster-adding-the-first-vm-will-create-the-cluster\">Add SQL VMs to the Cluster \u2013 Adding the first VM will create the cluster<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/sql\/vm?view=azure-cli-latest#az-sql-vm-add-to-group\" target=\"_blank\" rel=\"noreferrer noopener\">az sql vm add-to-group<\/a> manages adding AG replicas to the Windows Failover Cluster defined above. The cluster is created when the first VM is added to the group. Installing of cluster role on the VM and creating the cluster with the given name is automated by this command. Following add-to-group calls will add next replica to the Cluster.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\naz sql vm add-to-group -n -g --sqlvm-group -b -p -s\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">You can deploy a new SQL VM instance from Enterprise SQL Server 2016 or 2017 images on Azure Marketplace to use as AG replicas. If you deploy SQL VM from the Azure portal, then it will have the SQL IaaS extension installed and registered with SQL VM RP by default. If you deploy with Azure Power Shell, CLI, or from a non-SQL Server image, you will need to manually follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/windows\/sql\/virtual-machines-windows-sql-server-agent-extension\" target=\"_blank\" rel=\"noreferrer noopener\">Install the SQL IaaS extension<\/a> on the virtual machine.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Create a SqlVirtualMachine resource associated with the VM with <a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/sql\/vm?view=azure-cli-latest#az-sql-vm-create\" target=\"_blank\" rel=\"noreferrer noopener\">az sql vm create<\/a>. An example of this is below:<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\naz sql vm create -n -g -l\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">You can add an existing SQL VM to the cluster as AG replicas if these prerequisites are followed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-an-availability-group-through-ssms\">Create an Availability Group through SSMS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once all SQL VMs are added to the cluster, you can log in to one of them and setup the availability group through <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/availability-groups\/windows\/use-the-availability-group-wizard-sql-server-management-studio?view=sql-server-2017\" target=\"_blank\" rel=\"noreferrer noopener\">SSMS new Availability Group Wizard<\/a>. At this point, creating the availability group is very simple as all replicas are already added to the cluster.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-an-availability-group-listener\">Create an Availability Group Listener<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The last step in the Always On AG configuration is creating an AG Listener to enable automated connection routing after a failover. You can create an AG Listener with the <a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/sql\/vm\/group\/ag-listener?view=azure-cli-latest#az-sql-vm-group-ag-listener-create\" target=\"_blank\" rel=\"noreferrer noopener\">az sql vm ag-listener create<\/a> command, as shown below.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\naz sql vm group ag-listener create -n -g --ag-name --group-name --ip-address --load-balancer {lbname} --probe-port --subnet {subnet resource id} --sqlvms\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">AG Listener requires an <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/load-balancer\/load-balancer-overview\" target=\"_blank\" rel=\"noreferrer noopener\">Internal Load Balancer<\/a> (ILB) on Azure VMs. If your SQL VMs are in the same availability set, then you can use a <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/load-balancer\/quickstart-create-basic-load-balancer-cli\" target=\"_blank\" rel=\"noreferrer noopener\">Basic ILB<\/a>, otherwise you need to use a <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/load-balancer\/quickstart-load-balancer-standard-public-cli\" target=\"_blank\" rel=\"noreferrer noopener\">Standard ILB<\/a>. You can create the ILB via Azure CLI as shown in the example below.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\naz network lb create --name -g --sku Standard --vnet-name --subnet\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">That is all to deploy <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/virtual-machines\/sql-server\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQL Server on Azure Virtual Machines<\/a> with Always On AG Configuration. Start taking advantage of these expanded capabilities enabled by <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/sql-server-on-azure-virtual-machine-resource-provider\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQL VM resource provider<\/a> and <a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/sql\/vm?view=azure-cli-latest\" target=\"_blank\" rel=\"noreferrer noopener\">Azure SQL VM CLI<\/a> today. If you have a question or would like to make a suggestion, you can contact us through <a href=\"https:\/\/aka.ms\/sqlfeedback\" target=\"_blank\" rel=\"noreferrer noopener\">UserVoice<\/a>. We look forward to hearing from you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1467,1473],"tags":[],"audience":[3055,3053,3056],"content-type":[1511],"product":[1644],"tech-community":[],"topic":[],"coauthors":[410],"class_list":["post-1698","post","type-post","status-publish","format-standard","hentry","category-compute","category-databases","audience-developers","audience-it-decision-makers","audience-it-implementors","content-type-best-practices","product-sql-server-on-azure-virtual-machines","review-flag-1680286581-295","review-flag-alway-1680286580-106","review-flag-new-1680286579-546","review-flag-vm-1680286585-143"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Simplify Always On availability group deployments on Azure VM with SQL VM CLI | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simplify Always On availability group deployments on Azure VM with SQL VM CLI | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-07T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-13T18:34:44+00:00\" \/>\n<meta name=\"author\" content=\"Mine Tokus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mine Tokus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/mine-tokus\/\",\"@type\":\"Person\",\"@name\":\"Mine Tokus\"}],\"headline\":\"Simplify Always On availability group deployments on Azure VM with SQL VM CLI\",\"datePublished\":\"2019-02-07T00:00:00+00:00\",\"dateModified\":\"2025-06-13T18:34:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/\"},\"wordCount\":691,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"articleSection\":[\"Compute\",\"Databases\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/\",\"name\":\"Simplify Always On availability group deployments on Azure VM with SQL VM CLI | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"datePublished\":\"2019-02-07T00:00:00+00:00\",\"dateModified\":\"2025-06-13T18:34:44+00:00\",\"description\":\"Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compute\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Simplify Always On availability group deployments on Azure VM with SQL VM CLI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Simplify Always On availability group deployments on Azure VM with SQL VM CLI | Microsoft Azure Blog","description":"Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/","og_locale":"en_US","og_type":"article","og_title":"Simplify Always On availability group deployments on Azure VM with SQL VM CLI | Microsoft Azure Blog","og_description":"Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2019-02-07T00:00:00+00:00","article_modified_time":"2025-06-13T18:34:44+00:00","author":"Mine Tokus","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Mine Tokus","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/mine-tokus\/","@type":"Person","@name":"Mine Tokus"}],"headline":"Simplify Always On availability group deployments on Azure VM with SQL VM CLI","datePublished":"2019-02-07T00:00:00+00:00","dateModified":"2025-06-13T18:34:44+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/"},"wordCount":691,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"articleSection":["Compute","Databases"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/","name":"Simplify Always On availability group deployments on Azure VM with SQL VM CLI | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"datePublished":"2019-02-07T00:00:00+00:00","dateModified":"2025-06-13T18:34:44+00:00","description":"Always On availability groups (AG) provide high availability and disaster recovery capabilities to your SQL Server database, whether on-premises, in the cloud, or a combination of both.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/simplify-always-on-availability-group-deployments-on-azure-vm-with-sql-vm-cli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Compute","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/"},{"@type":"ListItem","position":3,"name":"Simplify Always On availability group deployments on Azure VM with SQL VM CLI"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=1698"}],"version-history":[{"count":3,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1698\/revisions"}],"predecessor-version":[{"id":41833,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1698\/revisions\/41833"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=1698"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=1698"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=1698"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=1698"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=1698"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=1698"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=1698"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=1698"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=1698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}