Skip to content


An MSP’s Guide to Running and Licensing SQL Server in Azure 

One of the most common workloads that managed service providers (MSPs) support for their customers are line-of-business applications with a SQL Server database back-end.  This also happens to be one of the more popular Azure workloads.  Microsoft has created several SQL offerings in Azure, including Azure SQL and SQL Managed Instance.  However, most MSPs prefer to start out with a traditional VM in Azure running a full version of SQL Server just like it does on-premises. 

In this article, we will review all available SQL options in Azure with a special focus on licensing considerations when running SQL Server on a Windows VM.  We’ll clear up some common misconceptions and focus on cost implications of each licensing scenario. 

There are three common ways to host a SQL database in Azure: 

  1. Azure SQL database 
  2. SQL Server on Azure VM – Microsoft Managed Instance 
  3. SQL Server on Azure VM – MSP managed 

We will focus primarily on #3 – SQL Server on an MSP-managed Azure VM.   

Azure SQL database  

A fully-managed SQL database engine based on the latest stable Enterprise Edition of SQL Server.  

This is a relational database-as-a-service (DBaaS) hosted in the Azure cloud that falls into the category of Platform-as-a-Service (PaaS).   

If you are developing a new application or re-architecting an existing one, this is the option that you should use first.  There are no VMs involved and Microsoft manages the entire back-end for this PaaS, including patching, updates, and high-availability.  The cost is relatively low compared to a full license of SQL Server — especially the Enterprise version.  However, there are a small number of feature limitations and you are locked into the latest version of SQL Enterprise without admin rights. 

SQL Server on Azure VM – Microsoft Managed Instance  

Managed Instance is a new deployment option of Azure SQL Database, providing nearly 100% compatibility with the latest SQL Server on-premises (Enterprise Edition) Database Engine.  This provides a native virtual network (VNet) implementation that addresses common security concerns, and a business model favorable for on-premises SQL Server customers.  

The Managed Instance deployment model allows existing SQL Server customers to lift and shift their on-premises applications to the cloud with minimal application and database changes.  The managed instance deployment model is designed for customers looking to migrate a large number of apps from on-premises (or IaaS), self-built, or in an ISV provided environment, to fully managed PaaS cloud environment with as low migration effort as possible. 

With Managed Instance, Microsoft manages the VM, SQL Server installation, patching, updates, high-availability, etc.  MSPs and customers do not have administrative access to the managed instance.  This is an interesting deployment model for some scenarios, but in our experience uncommon among MSPs and their customers. 

SQL Server on Azure VM managed by MSP 

This is by far the most common deployment model for customers looking to lift-and-shift their existing LOB applications into Azure without re-architecting them.  The VM is set up and managed by the MSP or customer’s IT team, and any SQL Server version can be installed just like on a regular on-premises server. 

Many MSPs also choose to migrate existing SQL servers to Azure without rebuilding the VM and reinstalling SQL Server.  They simply use Azure Site Replication (ASR) or another data transfer tool to move a server from on-premises into Azure as a VM.   

With Nerdio’s Hybrid AD functionality, this allows the migrated VM to work without any modifications since Active Directory spans both the on-premises network and the Azure deployment where the VM now resides.  With Windows Server 2008 and SQL Server 2008 nearing end of support, Microsoft is providing three years of extended security updates to those who move the SQL Server VMs into Azure.   

Paying for your license 

Despite SQL Server on Azure VM being the most popular deployment model, it generates a lot of confusion around the valid and most efficient way to pay for the license.   

Let’s review the available options. 

1. Rent SQL Server via Azure (Pay-as-you-go) 

The easiest way to deploy a VM running SQL Server in Azure is to select it as an image from the Azure image library.  A new VM will be created with SQL Server pre-installed on it and Microsoft will bill for the SQL license as part of the VM price.   

This is one of the more expensive SQL licensing options but provides the most flexibility.   

  • List price for SQL Server license only: 
    • SQL Standard – $146/month per two CPU cores (4 cores minimum per VM) 
    • SQL Enterprise – $548/month per two CPU cores (4 cores minimum per VM) 
  • Payment model: Hourly, pay-as-you-go with no commitment or upfront payments 
  • Deployment model: Only from Azure image library 

2. Bring your own SQL Server Volume License with Software Assurance (License Mobility) 

Many Enterprise customers already own SQL Server licenses under an existing license program with Microsoft such as EA or Select.  These licenses can be used in Azure due to the License Mobility benefit that is part of the Software Assurance subscription.  Without active Software Assurance, an existing SQL Server license cannot be used in Azure because it is a multi-tenant hosting environment. 

SQL Server license with SA can be used by enabling Azure Hybrid Usage on a VM where SQL is installed.  If the VM was provisioned as a SQL VM from the Azure image library, it can be converted to “bring-your-own SQL license” mode.  Alternatively, SQL Server can be installed on a clean VM or the entire VM can be imported from on-premises with SQL Server already installed.  In all these scenarios, having a SQL Server license with active Software Assurance will cover the license obligation for SQL. 

This is not a common scenario for most MSPs, as customers don’t often maintain active Software Assurance on SQL Server licenses, and therefore rarely used when deploying SQL in Azure. 

3. SQL Server licensed via CSP Software Subscription 

Purchasing SQL Server via CSP Software Subscriptions is the most cost-effective option but requires an upfront investment and pre-payment for a 12- or 36-month license.  This license can be returned for a full refund within 60 days of purchase but cannot be returned after the 60-day mark. 

MSPs can use a CSP Software Subscription to SQL Server under any VM deployment scenario.  If the VM was migrated via Azure Site Replication (ASR) from on-premises, deployed as a Windows VM and then had SQL installed on it, or deployed from Azure image library as a SQL VM and was then converted to “bring-your-own license”, a CSP Software Subscription license can be used. 

  • List Price for SQL Server license subscription: 
    • SQL Standard 12-month subscription: $130/month per two CPU cores (4 cores minimum per VM) 
    • SQL Standard 36-month subscription: $118/month per two CPU cores (4 cores minimum per VM) 
    • SQL Enterprise 12-month subscription: $498/month per two CPU cores (4 cores minimum per VM) 
    • SQL Enterprise 36-month subscription: $454/month per two CPU cores (4 cores minimum per VM) 
  • Payment model: Upfront, 60-day full refund 
  • Deployment models: 
    • Migrate existing VM with SQL installed to Azure 
    • Deploy a new Windows VM in Azure and install SQL 
    • Deploy a new SQL VM in Azure, convert to “bring-your-own” license 

What about SPLA?  

MSPs often ask if they can use their existing SPLA agreements to license SQL Server in Azure.  The answer is yes and no.   

Yes, you can license SQL via SPLA using the SAL (Subscriber Access License) model, which is where you pay for each user who connects to the SQL Server.  However, you cannot use SPLA to license a per-core SQL model, which is by far the most common way to license SQL Server. 

The reason for this is the “DCP Eligibility” of SQL Server product in SPLA.  DCP stands for Data Center Provider and DCP Eligibility is a benefit of SPLA that allows certain services to be brought to other providers with Azure being a DCP.  SQL SAL licenses are DCP Eligible, while SQL Core licenses are not DCP Eligible (you can read more about that here). 

In summary, the PAYG SQL license is flexible from the payment perspective, expensive, and must be deployed from an Azure library.  SQL via CSP Software Subscriptions is the least expensive, most flexible in terms of deployment options, but requires an upfront payment.  SQL Server with Software Assurance is the least common option since many customers of MSPs don’t maintain active Software Assurance. 

MSPs building a cloud practice in Microsoft Azure need to be aware of the various options for licensing SQL Server since it is often a large component of the overall cost of an Azure IT environment.  Choosing the correct one can have a significant impact on an MSP’s overall margin for a particular customer deployment.   

At Nerdio, our mission is to empower MSPs to build successful cloud practices in Microsoft Azure.  We continue to stay up-to-date on all the latest developments with Microsoft licensing and help our MSP partners make the right choice when selecting among the multitude of alternatives. 


Multi-Cloud and On-Premises Deployment with Azure Stack HCI (Coming Soon)

Deploy Azure Virtual Desktop in Azure and extend the session host VM placement to on-premises and other cloud using Azure Stack HCI. Nerdio Manager automates deployment of session hosts, AVD agent installation, and full integration into the AVD deployment in Azure.

Create a brand new Azure Virtual Desktop environment or allow Nerdio Manager to discover an existing deployment, connecting to existing resources, and manage them.

Deploy Nerdio Manager from Azure Marketplace and configure a new AVD environment with an easy to follow, step-by-step configuration wizard. First group of users can access their AVD desktop in less than 2 hours.

Service providers, system integrators, and consultants can leverage Nerdio Manager’s scripted AVD deployment template. Create complete environments with desktop images, host pools, and auto-scaling in minutes.

Create and manage AVD environments that span Azure regions and subscriptions. Quickly link Vnets and resource groups and manage AVD deployments world-wide from unified portal.

Link multiple Azure tenants under the same Nerdio Manager instance and manage AVD deployments that span Azure AD tenants. User identities and session host VMs can run in separate tenants for maximum flexibilty and security.

Deploy and manage AVD environments that span across sovereign Azure Clouds. Cross-sovereign cloud support allows identity (e.g. users and groups) to be in one Azure Cloud, while session host VMs are in another Azure Cloud.

Management of workspaces, host pools, app groups, RemoteApps & custom RDP settings

Administer every aspect of AVD with Nerdio Manager including workspaces, host pools, application groups, RemoteApp publishing, RDP properties, session time limits, FSLogix, and much, much more. Every Azure service that AVD relies on can be managed with Nerdio Manager.

Deploy and manage AVD session host VMs. Hosts can be created manually or with auto-scaling, deleted on-demand or on a schedule, re-imaged to apply updates, run a scripted action, resized, put into or taken out of drain mode, and more.

Manage user sessions across the entire AVD environment, within a workspace, host pool or on a single host. Monitor session status, disconnect or log off the user, shadow or remote control to provide support, or send user an on-screen message.

End users have the ability to log into Nerdio Manager with their Azure AD credentials and manage their own session, restart their desktop VM, or start a session host if none are started in a host pool. (Ability to resize and re-image own desktop is coming soon.)

Create, link, and manage Azure Files shares including AD domain join. Synchronize Azure Files permissions with host pools, configure quotas, and enable SMB multi-channel. Manage file lock handles and configure Azure Files auto-scaling to increase quota as needed.

Create, link, and manage Azure NetApp Files accounts, capacity pools and volumes. Configure provisioned volume size, monitor usage, and use auto-scaling to automatically adjust volume and capacity pool size to accommodate the needed capacity and latency requirements.

FSLogix configuration can be complex and overwheling, but not with Nerdio Manager. Create one or more FSLogix profiles with all the needed options, point at one or more Azure Files, Azure NetApp Files, or server locations and select from VHDLocations, CloudCache and Azure Blob storage modes.

Multiple identity source profiles can be set up and used automatically on different host pools. Active Directory, Azure AD DS, and Native Azure AD are all supported. Choose the appropriate directory profile when adding a host pool and all VMs will automatically join this directory when being created.

Create a copy of a host pool with all of its settings: auto-scale config, app groups and RemoteApps, MSIX AppAttach, user/group assignments, VM deployment settings, etc. Save time by creating host pool “templates” that can be cloned to any Workspace, Azure region or subscription instead of starting from scratch.

Apply user session time limits at host pool level. Automatically log off disconnected sessions, limit the duration of idle sessions, control empty RemoteApp session behavior and more.

Assign Azure AD users to personal desktops to ensure the user will log into a pre-configured VM. Un-assign personal desktops from users who leave the organization and re-use these VMs for new users.

Pre-configure custom Azure tags for all Azure resources associated with each host pool. Tags can be used for charge-back and cost allocation by host pool.

When creating session hosts using NV-series VMs NVIDIA and AMD GPU drivers are automatically installed.

Move existing host pools from Fall 2019 (Classic) object model to Spring 2020 (ARM) object model. Choose to whether to move or copy user assignments. Existing session hosts are automatically migrated or new ones can be created in the ARM host pool.

Automatically enable and configure AVD integration with Azure monitor. Zero configuration required. Azure Monitor Insights for AVD can be used instead of or in conjunction with Sepago Monitor.

AVD personal desktops to Windows 365 Cloud PC migration (Coming Soon)

Migrate users from AVD personal desktops to Windows 365 Enterprise Cloud PCs using an existing image and user assignment. (Coming soon)


Cloud PC License Usage Optimization (Coming Soon)

Cloud PC device lifecycle management

Cloud PC user group assignment

Intune primary user management on Cloud PCs

Migrate AVD personal desktops to Cloud PCs (Coming Soon)

Get Certified