• 2 min read

SQL Server on Azure Virtual Machines resource provider

SQL Server on Azure Virtual Machines is a cost-effective lift and shift method to run SQL Server on cloud with full control of the version, edition of SQL Server, Operating System, and the VM size.

SQL Server on Azure Virtual Machines is a cost-effective lift and shift method to run SQL Server on Microsoft Azure with full control of the version, edition of SQL Server, operating system, and VM size. Today, we are revealing a new Resource Provider called Microsoft.SqlVirtualMachine, a management service running internally on Azure clusters to handle SQL Server-specific configurations and deployments on Azure VMs. SQL VM resource provider enables dynamic updates of SQL Server metadata and orchestrates multi-VM deployments required for SQL Server HADR architectures. SQL VM resource provider also enables SQL Server specific browse and monitoring experiences.

With SQL VM resource provider, we are introducing three new resource types:

  • Microsoft.SqlVirtualMachine/SqlVirtualMachine represents SQL Server configurations on an Azure VM. Once created, it links to the existing VM resource with the VirtualMachineResourceId property and gets SQL Server configurations from SQL IaaS Extension properties. SqlVirtualMachine resource type has a property to represent the SQL Server License type. By setting the SQL Server License type to AHUB or PAYG, the SQL Server license can be dynamically updated even after the VM instance is deployed without any downtime.
  • Microsoft.SqlVirtualMachine/SqlVirtualMachineGroup represents a group of SQL VMs that will participate in an HADR architecture. Today we support SQL Server 2016 and SQL Server 2017 Always ON Availability Groups on an Active Directory domain joined windows failover cluster with Windows Server 2016. Creating a resource of SqlVirtualMachineGroups type will configure the windows failover cluster to host Always ON AG.
  • Microsoft.SqlVirtualMachine/Sql Virtual Machine Groups/Availability Group Listener represents an Always ON Availability Group Listener which can be connected from any VM in the same VNet.

Swagger spec for SQL VM resource provider with examples for all REST APIs can be found on GitHub.

SQL VM Resource Provider sets up the infrastructure for two new features, AHB for SQL VM and Automated Always ON AG. AHB for SQL VM brings significant cost savings for existing PAYG SQL VMs via simple PowerShell or Azure CLI calls. The Automated Always ON AG feature hides the details of Azure infrastructure from the user and automates the manual steps required for configuring Always ON AG on Azure VM.

To use SQL VM resource provider, register your subscription with the Microsoft.SqlVirtualMachine provider. You can register with the Microsoft.SqlVirtualMachine provider on the Azure portal. Start by selecting “All Services” and navigating to “Subscriptions.” From there you can select the “Resource Providers.” You can also register your subscription with Microsoft.SqlVirtualMachine provider by running the following power shell command:

Register-AzureRmResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine

SQL VM RP is available for all VM instances deployed from Azure Marketplace SQL images, together with self-deployed SQL Server on Azure VMs. You can create a SqlVirtualMachine resource and link to an existing Azure VM running SQL Server created from a generalized VHD. Register with the Microsoft.SqlVirtualMachine provider today to leverage flexible licensing and enhanced manageability features for SQL Server running on Azure VM.