How to Decide on a License Model for Virtualized SQL Server

Written by Joe Kozlowicz on Thursday, October 5th 2017 — Categories: Enterprise Applications

With two different licensing models and several different versions of SQL Server, managing your licensing in a virtualized environment (like a hosted VMware cloud) is no simple matter.

This quick rundown will guide you towards the best licensing choice for your cloud VMs running Microsoft SQL Server.


SQL Server 2016 Versions

Microsoft offers four versions of SQL Server 2016, but the Developer and Express editions are limited (naturally, as they are free products). You’ll most likely be choosing from the Enterprise or Standard options. Only the Standard edition offers licensing by Server + CAL (Client Access License) as well as Per Core. The Enterprise edition is only licensed Per Core — unless you have an existing Enterprise Agreement or an Software Assurance version upgrade.

CAL basically means you pay per-user, so each individual who logs into SQL Server must have their own license — even if they use it indirectly.

Per Core means you pay per server CPU core, with a minimum of four core licenses per server, regardless of your actual core count (i.e. servers with one or two core CPUs will still have to buy four licenses). However, you have unlimited user access with this model. Both CAL and Per Core models only permit a single instance of SQL per server.

The Enterprise edition also offers some additional capabilities like Advanced Corporate Business Intelligence, Enterprise Data Management, Advanced Security (heavier encryption and audit features), and In-memory ColumnStore and OLTP.

Weigh your options by answering a few questions about your infrastructure, namely:

SQL Server 2016 for Virtual Machines (Cloud VMs)

Things get more complicated when you add virtualization to the licensing mix. This will laregely depend on the size of your environment and how many cloud servers are running SQL, as well as the underlying hardware. With a cloud provider, you may not know the server specifications, so ask during the implementation process about what your best options are.

If you are using a private cloud server, you can request specific server hardware, or you will at least know what type of server is running your VMs. Otherwise you're likely stuck licensing per-VM.

Here’s where that all comes into play: if you only have a few VMs running SQL server, you’re probably best off licensing per VM. In other words, just pretend your VM is a regular server sitting in your own data center. You’ll be choosing between the two pricing models mentioned above. So if your VM has one or two vCPUs, you’ll still need to purchase four licenses if you are using the Per Core model. If you’re using the CAL model, you just need to know how many users, and buy one license per VM.

If you want to move your virtual machine between physical host servers (like for a High Availability or Backup situation), then you’ll need to also purchase Software Assurance. This grants permissions to use vMotion or other methods to migrate your VM between hosts or virtual data centers. If you do not buy SA, then your server is limited to a single server host for a 90 day period.

Basically your license is tethered to the physical server rather than the VM. You can move your SQL Server to another server as long as that server also has a license — unless you buy SA.


If you need vast amounts of SQL Servers, there are bulk licensing options available. You can also discuss your licensing options with one of our Infrastructure Consultants as you discuss and design your cloud environment. They will be ready to help you maximize performance, availability, and flexibility while maintaining your budget, and they can also help you decide between the many database management platforms available for your cloud deployment.