This guide is part of the Microsoft Licensing content series. For full SQL Server licensing reference, see SQL Server Licensing Master Guide. For compliance pitfalls, see SQL Server Compliance Pitfalls. For hybrid/multi-cloud, see SQL Server in Hybrid and Multi-Cloud.
Licence Mobility — How It Works
Licence Mobility is a Software Assurance benefit that allows SQL Server core licences to be reassigned between servers more frequently than the standard 90-day restriction, and to authorised third-party cloud providers. Without SA, a SQL Server licence assigned to Host A cannot legally move to Host B for 90 days. In virtualised environments where VMs migrate continuously, this restriction is unworkable.
Server Farm Mobility
With active SA, SQL Server licences gain mobility within a server farm. A "server farm" is a set of servers managed as a unit within a single data centre, or across two data centres within the same time zone region. Within the farm, SA-covered licences can be reassigned to any server at any time, effectively creating a floating licence pool. A 5-host VMware cluster with SA-covered licences allows SQL VMs to migrate between any host without triggering the 90-day rule.
Cloud Mobility (BYOL)
SA-covered licences enable Bring Your Own Licence (BYOL) to authorised cloud providers including AWS and Azure. For AWS, Microsoft requires a Licence Mobility Verification Form submitted through the cloud provider. For Azure, the mechanism is Azure Hybrid Benefit (AHB), declared directly on the VM, providing 40–55% compute cost savings by removing the SQL Server component from the hourly rate.
Without SA — Licences Are Anchored
Perpetual licences without SA are locked to the specific server for a minimum of 90 days. In a virtualised environment with live migration, every host that could potentially run a SQL VM must be independently licensed. Any VM migration to an unlicensed host violates the terms. This is why SA is considered mandatory for virtualised SQL Server.
SQL Server 2022 Change
Starting with SQL Server 2022, Microsoft requires active SA for per-VM licensing in virtualised environments. Previously, per-VM licensing worked with perpetual licences and the 90-day rule. Now, if SA lapses, per-VM licences become invalid for virtual deployment. You must renew SA, licence the entire host, or migrate to CSP/Azure.
Software Assurance is the single most important investment for virtualised SQL Server. Without it, you either licence every physical host in the cluster (dramatically over-licensing) or accept compliance risk every time a VM migrates. The SA cost is almost always less than the cost of licensing every potential destination host.
Per-VM vs Per-Host — Licensing Strategy Comparison
The fundamental decision for virtualised SQL Server: licence individual VMs (based on virtual cores) or licence the entire physical host (based on physical cores). Each approach has distinct cost dynamics, compliance implications, and operational trade-offs.
| Dimension | Per-VM Licensing | Per-Host (Enterprise + SA) |
|---|---|---|
| What you licence | Virtual cores per VM (min 4 per VM) | All physical cores on the host |
| Edition | Standard or Enterprise | Enterprise only (Standard has no unlimited VM rights) |
| SA requirement | Required for SQL 2022+ per-VM licensing | Required for unlimited virtualisation rights |
| VM limits | Only licensed VMs are covered | Unlimited SQL VMs on the host |
| New VM provisioning | Requires new licence allocation per VM | No additional cost. Spin up instantly. |
| VM migration | Must track which host each VM runs on | Irrelevant. All hosts in farm are licensed. |
| Compliance complexity | High. Per-VM tracking, vMotion monitoring. | Low. Licence the host, document once. |
| Cost efficiency | Better for 1-3 SQL VMs on a large shared host | Better for 4+ SQL VMs per host (high density) |
| True-up impact | Every new VM increases licence count at true-up | No true-up impact from new VMs on licensed hosts |
Worked Example — VMware Cluster Licensing
Consider an enterprise running 20 SQL Server VMs across a 3-host VMware cluster. Each host has 16 physical cores (48 total). Each VM is allocated 4 vCPUs.
| Approach | Licences Required | Edition | Approx. Cost (List) | Compliance |
|---|---|---|---|---|
| Per-VM (Standard) | 80 cores (20 VMs × 4 vCPU) | Standard | $315,600 (80 × $3,945) | High tracking burden |
| Per-VM (Enterprise) | 80 cores (20 VMs × 4 vCPU) | Enterprise | $1,140,480 (80 × $14,256) | High tracking burden |
| Per-Host (Ent + SA) | 48 cores (3 hosts × 16 cores) | Enterprise | $684,288 (48 × $14,256) | Low. Hosts licensed, VMs free. |
Per-VM Wins When: Sparse SQL VM Density
Per-VM is more cost-effective when: (1) you run only 1-3 SQL VMs on a large host, (2) SQL VMs are on dedicated hosts separate from non-SQL workloads, (3) you use Standard Edition, and (4) VMs have small vCPU allocations (4 each). Trade-off: higher compliance complexity and VM-to-host tracking.
Per-Host Wins When: Dense SQL VM Environments
Per-host is more cost-effective when: (1) you run 4+ SQL VMs per host, (2) SQL VMs are on shared infrastructure with VMware DRS, (3) you need Enterprise features (Always On AGs, compression, partitioning), and (4) you want zero true-up exposure from new VMs. Trade-off: higher upfront cost, dramatically lower risk.
EA True-Up Strategy for Virtualised SQL Server
Organisations on Microsoft Enterprise Agreements must report licence usage increases at the annual true-up. Virtualisation creates unique challenges because SQL VM counts can change rapidly.
Track Peak Usage, Not Average
EA true-up reports peak deployed usage: the maximum number of SQL Server licences in use at any point during the year. If you normally run 100 core licences but spun up additional VMs reaching 120 cores for two months, you owe the true-up on 120, not 100. Monitor SQL Server licence consumption continuously and record peak values monthly.
Align Major Deployments With EA Milestones
Time major SQL Server deployments relative to your EA anniversary. A large deployment immediately before true-up means paying for a full year retroactively. The same deployment immediately after true-up gives you up to 12 months before reporting. If renewal falls within that period, negotiate incremental licences as part of renewal terms rather than list-rate true-up pricing.
True-Up Only Reports Increases, Not Decreases
EA true-up is one-directional during the term: you report and pay for increases, but receive no credit for decreases until EA renewal. If you decommissioned 20 SQL VMs but added 10 new ones, you owe for 10 additional. Document all decreases meticulously for renewal negotiation. Evidence of lower actual usage strengthens your position to negotiate a reduced commitment.
Per-Host Licensing Eliminates True-Up Volatility
If all hosts in your SQL cluster are licensed with Enterprise + SA, adding new SQL VMs creates zero true-up impact. The licence count is tied to physical cores, not VM count. New VMs on licensed hosts are already covered. The only trigger is adding new physical hosts, a planned, infrequent event that procurement can budget for.
Need expert SQL Server licensing advisory? Redress Compliance provides independent Microsoft licensing advisory, fixed-fee, no vendor affiliations.
Microsoft Advisory Services →Cloud BYOL — Extending Mobility to Azure and AWS
Azure Hybrid Benefit (AHB)
SA-covered SQL Server licences can be applied to Azure SQL Database, Azure SQL Managed Instance, and SQL Server on Azure VMs via Azure Hybrid Benefit. Each Enterprise core licence with SA covers 1 vCore of Business Critical or 4 vCores of General Purpose. A D8s_v5 VM (8 vCPUs) running SQL Enterprise costs approximately $2.50/hour at PAYG vs approximately $0.77/hour with AHB: a 69% saving, approximately $15,000/year per VM. AHB is activated at the VM level and can be toggled at any time.
AWS BYOL via Licence Mobility
SQL Server licences with SA can be deployed on AWS EC2 dedicated instances or dedicated hosts through the Licence Mobility programme. AWS is a Microsoft Authorised Mobility Partner. You must submit a Licence Mobility Verification Form through AWS. Key restriction: BYOL on AWS requires dedicated tenancy (not shared/default) to ensure licence isolation. BYOL saves the Microsoft SQL Server surcharge that AWS otherwise charges, typically 30-50% of the hourly rate.
Hybrid Scenarios — On-Premises + Cloud Coordination
Many enterprises run SQL Server across on-premises virtualised infrastructure and public cloud simultaneously. Coordinating licence mobility across these environments requires careful planning.
180-Day Dual-Use Window
During cloud migration, Microsoft allows 180 days of dual-use: the same SA-covered SQL licence can run simultaneously on-premises and in Azure. After 180 days, the licence must be assigned to one location. Plan migration timelines around this window: start AHB activation, complete migration and testing, decommission the on-premises instance within 180 days.
Licence Pool Management Across Environments
Track your total SQL Server licence pool as a single inventory with assignments to three destinations: on-premises hosts, Azure (AHB), and AWS (BYOL). Each core licence can only be assigned to one destination at a time (outside the dual-use window). A common mistake: activating AHB on 50 cores in Azure while those same 50 cores remain assigned to on-premises hosts. After 180 days, the on-premises hosts are under-licensed.
EA True-Up Implications of Cloud Migration
Moving SQL workloads to Azure with AHB does not reduce your EA on-premises commitment during the term. At renewal, demonstrating that workloads have migrated to Azure (covered by AHB) strengthens your negotiation position. Document every migration: source host, licence count released, Azure destination, AHB activation date.
Best Practices for Dynamic Virtual Environments
Maintain SA on All Virtualised SQL Licences
SA enables licence mobility, failover rights, per-VM licensing for SQL 2022+, and Azure Hybrid Benefit. Letting SA lapse creates immediate compliance risk in virtualised deployments.
Define Your Server Farm Explicitly
Document which hosts belong to your SQL Server farm. Microsoft requires servers in the same data centre or two data centres in the same time zone region. Ensure farm boundaries match Microsoft's Product Terms.
Use VMware Affinity Rules for Per-VM Licensing
Configure DRS affinity rules to restrict SQL VMs to a subset of licensed hosts. Without affinity rules, every host in the DRS cluster must be licensed to remain compliant.
Evaluate Per-Host vs Per-VM at Each EA Renewal
As VM counts change, the optimal approach shifts. Re-calculate at each true-up and renewal. The breakpoint is typically 4-6 SQL VMs per host.
Document VM-to-Host Mappings Continuously
Maintain automated records of which SQL VMs run on which physical hosts at all times. This is the primary evidence Microsoft requests in audits. Tools: SCCM, Snow, Flexera, ServiceNow SAM, or custom PowerShell/vSphere scripts.
Activate Azure Hybrid Benefit on Every Eligible Resource
Audit your Azure environment for SQL Server VMs and Azure SQL databases running at PAYG rates. AHB activation requires no migration. It is a billing toggle saving 40-69% per resource immediately.
Submit Licence Mobility Verification Forms for AWS
If deploying SQL on AWS using on-premises licences, complete the verification paperwork through AWS. Failure to file makes your AWS SQL deployment technically unlicensed even if you own sufficient licences.
Budget for True-Up Based on Projected Peak
Forecast SQL VM growth for the coming year. Factor in projects, seasonal workloads, and M&A activity. Build the peak licence count into your annual budget to avoid year-end surprises.