Overview of SQL Server on Azure Virtual Machines (Windows)

This topic describes your options for running SQL Server on Azure Windows virtual machines (VMs), along with links to portal images and an overview of common tasks.


If you're already familiar with SQL Server and just want to see how to deploy a SQL Server Windows VM, see Provision a Windows SQL Server VM in the Azure. Or if you want to create a Linux VM with SQL Server, see Provision a Linux SQL Server VM in the Azure

If you are a database administrator or a developer, Azure VMs provide a way to move your on-premises SQL Server workloads and applications to the Cloud.


There are many reasons that you might choose to host your data in Azure. If your application is moving to Azure, it improves performance to also move the data. But there are other benefits. You automatically have access to multiple data centers for a global presence and disaster recovery. The data is also highly secured and durable.

SQL Server running on Azure VMs is one option for storing your relational data in Azure. It is good choice for several scenarios. For example, you might want to configure the Azure VM as similarly as possible to an on-premises SQL Server machine. Or you might want to run additional applications and services on the same database server. There are two main resources that can help you think through even more scenarios and considerations:

Create a new SQL VM

The following sections provide direct links to the Azure portal for the SQL Server virtual machine gallery images. Depending on the image you select, you can either pay for SQL Server licensing costs on a per-minute basis, or you can bring your own license (BYOL).

Find step-by-step guidance for creating a new SQL VM in the tutorial, Provision a SQL Server virtual machine in the Azure portal. Also, review the Performance best practices for SQL Server VMs, which explains how to select the appropriate machine size and other features available during provisioning.

Option 1: Create a SQL VM with per-minute licensing

The following table provides a matrix of the latest SQL Server images in the virtual machine gallery. Click on any link to begin creating a new SQL VM with your specified version, edition, and operating system.


To understand the VM and SQL pricing for these images, see Pricing guidance for SQL Server Azure VMs.

Version Operating System Edition
SQL Server 2017 Windows Server 2016 Enterprise, Standard, Web, Express, Developer
SQL Server 2016 SP1 Windows Server 2016 Enterprise, Standard, Web, Express, Developer
SQL Server 2014 SP2 Windows Server 2012 R2 Enterprise, Standard, Web, Express
SQL Server 2012 SP3 Windows Server 2012 R2 Enterprise, Standard, Web, Express


To see the available Linux SQL Server virtual machine images, see Overview of SQL Server on Azure Virtual Machines (Linux).

Option 2: Create a SQL VM with an existing license

You can also bring your own license (BYOL). In this scenario, you only pay for the VM without any additional charges for SQL Server licensing. To use your own license, use the matrix of SQL Server versions, editions, and operating systems below. In the portal, these image names are prefixed with {BYOL}.


Bringing your own license can save you money over time for continuous production workloads. For more information, see Pricing guidance for SQL Server Azure VMs.

Version Operating system Edition
SQL Server 2016 SP1 Windows Server 2016 Enterprise BYOL, Standard BYOL
SQL Server 2014 SP2 Windows Server 2012 R2 Enterprise BYOL, Standard BYOL
SQL Server 2012 SP2 Windows Server 2012 R2 Enterprise BYOL, Standard BYOL

In addition to this list, other combinations of SQL Server versions and operating systems are available. Find other images through a marketplace search in the Azure portal (search for "{BYOL} SQL Server").


To use BYOL VM images, you must have an Enterprise Agreement with License Mobility through Software Assurance on Azure. You also need a valid license for the version/edition of SQL Server you want to use. You must provide the necessary BYOL information to Microsoft within 10 days of provisioning your VM.


It is not possible to change the licensing model of a pay-per-minute SQL Server VM to use your own license. In this case, you must create a new BYOL VM and migrate your databases to the new VM.

Manage your SQL VM

After provisioning your SQL Server VM, there are several optional management tasks. In many aspects, you configure and manage SQL Server exactly like you would manage an on-premises SQL Server instance. However, some tasks are specific to Azure. The following sections highlight some of these areas with links to more information.

Connect to the VM

One of the most basic management steps is to connect to your SQL Server VM through tools, such as SQL Server Management Studio (SSMS). For instructions on how to connect to your new SQL Server VM, see Connect to a SQL Server Virtual Machine on Azure.

Migrate your data

If you have an existing database, you'll want to move that to the newly provisioned SQL VM. For a list of migration options and guidance, see Migrating a Database to SQL Server on an Azure VM.

Configure high availability

If you require high availability, consider configuring SQL Server Availability Groups. This involves multiple Azure VMs in a virtual network. The Azure portal has a template that sets up this configuration for you. For more information, see Configure an AlwaysOn availability group in Azure Resource Manager virtual machines. If you want to manually configure your Availability Group and associated listener, see Configure AlwaysOn Availability Groups in Azure VM.

For other high availability considerations, see High Availability and Disaster Recovery for SQL Server in Azure Virtual Machines.

Back up your data

Azure VMs can take advantage of Automated Backup, which regularly creates backups of your database to blob storage. You can also manually use this technique. For more information, see Use Azure Storage for SQL Server Backup and Restore. For an overview of all backup and restore options, see Backup and Restore for SQL Server in Azure Virtual Machines.

Automate updates

Azure VMs can use Automated Patching to schedule a maintenance window for installing important windows and SQL Server updates automatically.

Customer experience improvement program (CEIP)

The Customer Experience Improvement Program (CEIP) is enabled by default. This periodically sends reports to Microsoft to help improve SQL Server. There is no management task required with CEIP unless you want to disable it after provisioning. You can customize or disable the CEIP by connecting to the VM with remote desktop. Then run the SQL Server Error and Usage Reporting utility. Follow the instructions to disable reporting.

For more information about data collection, see the SQL Server Privacy Statement.

Next steps

For questions about pricing, see Pricing guidance for SQL Server Azure VMs and the Azure pricing page. Select your target edition of SQL Server in the OS/Software list. Then view the prices for differently sized virtual machines.

More question? First, see the SQL Server on Azure Virtual Machines FAQ. But also add your questions or comments to the bottom of any SQL VM topics to interact with Microsoft and the community.