1x1 1x1 1x1 1x1 1x1 1x1

Microsoft SQL 2012 Licensing in a VMware environment – Part One

More and more Microsoft SQL Servers are being deployed virtually in a VMware environment, but how can you license them correctly?

Microsoft changed their licensing again on April 1st, 2012. With the general availability of SQL Server 2012, the changes around SQL licensing are live.

Some highlights are:

  • There are three main editions now:
    • Standard
    • Business Intelligence
    • Enterprise.

The Web edition is now only available for Service Providers through the SPLA license agreement.

  • Per CPU licensing is no more. You have two types of licensing only:
    • Core-Based
    • Server+CAL licensing.

Microsoft chose this way because virtualization is on its way to 100%, server hardware gets more powerful over time, doubling cores every 18 months. Also companies demand more flexibility with workloads traveling between private and public clouds.

  • Furthermore Microsoft tries to simplify and make licensing more predictable for customers with evolving infrastructures.

You now have the choice to either license individual virtual machines or to license the physical layer below it for maximum virtualization, while reducing costs. The only catch is that you have to license a virtual machine (VM) with a minimum of 4 cores per VM. Microsoft, why not make that 2?? You sell the licenses per 2-Pack of core licenses and most VMs deployed in the wild at the moment have 1 or 2 cores assigned to it.

If you want to license the entire physical server you only have one option: buy the Enterprise Edition core licenses, where you are obligated to cover those licenses with Software Assurance (SA).

If you don’t have Software Assurance (SA) coverage on your SQL licensing, you are not allowed to move SQL servers back and forth between hosts. VM license mobility is a SA benefit. Without SA, licenses can be only moved from one server to another once every 90 days. There is one catch, those 90 days still apply if you reassign the license to a server outside the server farm or to a non-private cloud.  For more information, see the Application Mobility paragraph.

There is a one single CAL SKU for SQL Server 2012 for access to all the server editions. A CAL is not software; it is a license granting users and devices access to the SQL Server software.

Licensing individual VMs is the only licensing option available for SQL Server 2012 Standard Edition for customers who are running the software in a VMware environment under the Per Core model.

Prior to the release of SQL Server 2012, SQL Server 2008 R2 (and earlier software versions) were licensed through Microsoft Volume Licensing programs, using one of two software licensing models: a Per Processor licensing model, that reflected the computing power used and a Server plus Client Access License (Server+CAL) licensing model, which is based on the users or devices accessing the product.

Unlike the Server+CAL licensing model, the Per Core model allows access for an unlimited number of users or devices to connect from either inside or outside an organization’s network. With the Per Core model, customers do not need to purchase additional client access licenses (CALs) to access the SQL Server software.

If you have to answer one of the following questions with yes, you have to use Core based licensing.

  • Do you have users and/or devices accessing the databases from an extranet/internet?
  • Do you have users/devices that cannot be counted easily?
  • Do you need features from the SQL 2012 Enterprise edition?
  • Are the total licensing for server/CAL based higher than core based? (See calculating the Licensing costs paragraph)


Licensing using the Server+CAL Licensing Model

When licensing the SQL Server 2012 environment through Server+CAL licensing you will have two components you have to license, Server licenses and Client Access Licenses (CALs).

Server License

Every operating system environment (OSE) running SQL Server 2012 software or any of its components must have a SQL Server 2012 server license assigned to the physical server hosting the OSE. Each server license allows customers to run any number of SQL Server instances in an OSE, either physical or virtual. The maximum supported number of instances is 50 on a stand-alone server for all SQL Server editions.

Important!!!Running SQL Server software on different hardware partitions or blades requires separate software licenses. Hardware partitions and blades are considered to be separate servers for licensing purposes and SQL Server software licenses cannot be assigned to more than one server at any time.”


To access a licensed SQL Server, each user or device must have a SQL Server CAL that is the same version or newer than the SQL Server software version being accessed. This means that you are allowed to access SQL servers running SQL 2000, 2005, 2008 and 2012 when you have SQL 2012 CALs. While version specific, each SQL Server 2012 CAL provides access to any number of current and/or prior version licensed SQL Server instances in a customer’s organization, regardless of the platform (32-bit, 64-bit or IA64) or product edition.


Licensing Individual Virtual Machines

Like the Per Core licensing model in physical OSE’s, all virtual cores (vCore) supporting virtual OSEs that are running instances of SQL Server 2012 software components must be licensed accordingly.

To license individual VMs using the Per Core model, customers must purchase a core license for each v-core (or virtual processor, virtual CPU, virtual thread) allocated to the VM. With a minimum of a four core license per VM. When licensing individual VMs, core factors do not apply. Licensing individual VMs is the only licensing option available for SQL Server 2012 Standard Edition customers who are running the software in a virtualized environment under the Per Core model.

With SQL Server 2012, Microsoft provides support for license mobility as an exclusive SA benefit available for all SQL Server editions.


Licensing for Maximum Virtualization

Licensing the physical layer with SQL 2012 Enterprise edition on all physical cores can reduce overall costs. You are allowed to run as much VMs as that you licensed physical cores. For example a server with two CPUs with each 6 cores will allow you to run 6 x 2 = 12 VMs with unlimited number of instances of the software.

If you want to run 15 VMs on the server example above you will need 3 extra core licenses but have to buy 4 core licenses because they are 2-packed by Microsoft.

If you want to run unlimited number of VMs to handle dynamic workload and fully utilize hardware computing power than you have to cover all Enterprise Edition core license with SA. Your use rights are expanded then to allow any number of instances of the software to run in any number of OSEs (physical or virtual). This benefit ends when SA coverage expires and isn’t renewed at the end of the period.


Licensing SQL Server for High Availability

SQL Server software can be configured to pick up processing, recover and continue on a second server if the first server fails. All editions of SQL Server 2012 provide basic high availability features including backup log shipping, database mirroring and two-node failover clustering. Advanced (AlwaysOn) high availability features in SQL Server 2012 Enterprise Edition include enhanced support for multiple, active (readable) secondary servers and support for multi-site failover clustering.

If you have an Active – Passive deployment you don’t have to license the passive side with core licenses. In an Active – Active deployment you have to license all cores on both sides.

Failover Basics

For each properly licensed instance of SQL Server, customers can run a supporting passive instance in a separate OSE for temporary support. A passive SQL Server instance is one that is not serving SQL Server data to clients or running active SQL Server workloads. This passive failover instance can run on a server other than the licensed server.

  • The secondary server used for failover support does not need to be separately licensed for SQL Server as long as it is truly passive.
  • Primary server licenses include support for one secondary server only, any additional secondary servers must be licensed for SQL Server.
  • When licensing SQL Server 2012 under the Per Core model, the number of core licenses must be based on the server that requires the higher number of licenses.

AlwaysOn Availability Groups

New for the SQL Server 2012 Enterprise Edition, AlwaysOn Availability Groups enable customers to configure multiple databases that will failover as a unit, including support for up to four active secondary servers and two synchronous secondary servers. The ability to use secondary servers for more than just passive failover support can improve the performance of primary, reporting and backup workloads due to better balancing of workloads across instances, helping to provide better return on hardware investment.

Note: When secondary servers are actively used to support these additional workload scenarios—that is, when the servers used for failover purposes are no longer truly passive—they must be fully licensed accordingly.


Licensing SQL Server for Non-production Use

The SQL Server 2012 Developer Edition is a full-function version of SQL Server software—with all the features and capabilities of the Enterprise Edition—licensed under the Developer Tools model, which is a “per user” model. One license is required for each person that accesses or uses the software.

When using SQL Server software for development, test or demonstration purposes, only the users are licensed and a corresponding license for the actual server systems running SQL Server software is not required.

As long as only licensed users have access to the software, customers can install any number of copies of the software on any number of servers that are used exclusively for development, test or demonstration purposes.

This is significant, because it allows customers to run the software on multiple devices (for testing purposes, for example) without having to license each non-production server system.


License Mobility

License Mobility is a usage right that is available for all editions of SQL Server 2012 software licenses with active Software Assurance (SA) coverage. With this SA benefit, customers can re-assign SQL Server licenses to different servers within a server farm as often as needed. Customers can also reassign licenses to third party shared servers. License Mobility is available for licenses under both the Per Core and Server+CAL license models.

All SQL Server licenses with active SA can be reassigned to another server within the server farm as often as needed; however, they can only be reassigned to another server in another server farm, or to a non-private cloud, once every 90 days.

  • A server farm may consist of up to two data centers located in time zones that are within four hours of one another and/or with the European Union (EU) and/or European Free Trade Association (EFTA).
  • A given data center may only be part of one server farm.




In part two I will explain what this means for your licensing using several examples.


Edwin Weijdema is a Solutions Architect at Veeam for the Benelux & Nordics region and has over 20 years of experience designing, implementing, and managing data center technologies for large companies. His areas of expertise include virtualization, networking, and storage solutions. He knows what it takes to add business value to partners and customers. So they get the best possible solution that fits the needs. He is a veteran vExpert, Cisco Champion 2015 and holds several other certifications.

  • SteveBalms

    Just a note. Old Users from Server 2008 R2 Enterprise Server + CAL. Get to be converted to the SQL 2012 Enterprise Edition (non-core) license and can virtualize up to 4 VMs per each license with up to 20 v-cores total per 4 VMs per each Enterprise license.

  • SteveBalms

    Old Server 2008 R2 Enterprise Server licenses get to be converted to the SQL Server 2012 Enterprise (non-core). You can run 4 VM per each license with up to 20 v-cores total inside all VMs per each license. The machines must be running on the same host.

    • You got to have an active Software Assurance contract to be eligible for an upgrade. Also in order to prepare for the renewal process, it is necessary to be fully aware of how existing SQL Server processor licenses are assigned in the environment. You will need a SQL Server 2012 Transition Report, which is used to assess how these SQL Server installations will transition to the SQL Server 2012 licensing model. The Transition Report is a useful resource for inventorying and documenting an organization’s SQL Server instances and licensing requirements. It also contains the necessary information needed for renewing SQL Server processor licenses into SQL Server 2012 core licenses. But I will post more info about the upgrade path in Part 3.

  • r2

    Where is Part Two?

    • Hi r2, thanks for the reminder! It hasnt been written due to time constraints and to the simple fact I all forgot about it (sorry). I will write it before the end of august 2014. Something specific you are looking for r2?

      regards, Edwin

      • Romeo

        I have to build a SQL server and still don’t know what license will fit best for our company. I just finished the virtualization of all physical servers to a VMware Essentials Plus license, 3 hosts and one SAN. I would say we are going to have around 50 users accessing the application for which this SQL server will be build. Should I go with core based license for 4 cores (obligated otherwise I will get it for 2 cores) or server+CALs? I’d like to have the SQL backup feature as well as capability to cover this SQL server by VMware HA. Thanks for helping, R2

        • So if I understand correctly, you want to use VMware HA , vMotion and DRS for planned and unplanned downtime protection/avoidance. If so you would be best to get the SQL Svr. Standard Core 2014 licenses for a VM with 2 or 4 vCPUs attached. This VM is allowed to move across all 3 hosts (if you buy SA! for License Mobility)

          Situation 1 – SQL Server 2014 standard with 50 users accessing (3 year SA)

          List price will be $1,346 for Server and 50x $314 = $ 15,700 makes a total $17,046

          Situation 2 – VM with SQL Server 2014 through Core Standard licenses

          List price will be $5,378 x2 = $10,756

          Above are list prices, if you have a current license contract with Microsoft rebates apply!! For comparison list price is enough. So licesing a VM would be cost wise and feature wise the best in this situation. Or if the database is not heavy you might could go for the Express Edition http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspx

          For future plans? Are you maybe thinking of moving the Virtual Machines with SQL in the (near) future to the Cloud maybe? If so go for Core licenses standard or enterprise if you need specific features.

          I would recommend 2x SQL svr Core licenses Standard which gives you the right for a VM with 4 vCPU with SQL Standard (minimum unfortunately license wise) which can roam over all 3 hosts and even the cloud in the future.

          See the Microsoft License Advisor to help a bit on price checks through list prices. http://mla.microsoft.com/default.aspx

          • For a comparison between the different SQL 2014 editions including Express see: http://msdn.microsoft.com/en-us/library/cc645993.aspx

            Maximum compute capacity for Express is: Limited to lesser of 1 Socket or 4 cores Maximum memory capacity for Express is: Maximum memory utilized (per instance of SQL Server Database Engine) 1GB

            Hope this helps!

  • Phil Morris


    Bit confused by the Section “Licensing for Maximum Virtualization” – surely once you have enough core licences (Brought in packs of 2) for the physical layer – you can run unlimited VMs with SQL on that host. Not sure the calculation example helps – when it says 6×2= 12 VMs?



    Hi Edwin, I am getting all kinds answers from different people about this VM licensing and I am trying to get a firm answer an expert like you. We have an app server on VM with 4 CPUs and 1 core per CPU allocated to us. We want to install a SQL server 2012 on this VM machine. Our IT guys said we have to purchase the license per core for the entire physical VM server which could have multiple CPUs and countless cores. Is that true? I thought we could install SQL Server 2012 on a VM slice with minimum of 4 cores. Thanks a lot.