Microsoft SQL 2014 Licensing in a VMware environment
I still get a lot of requests to explain how Microsoft SQL 2014 Licensing in a VMware environment works. More and more business critical workloads find their way to the Software Defined Data Center as a virtual workload. For virtual workloads licensing was a bit misty from time to time. But it also gives tremendous benefits like greater flexibility, mobility, hybrid options, increased availability and easier disaster recovery scenarios and also often a consolidation and performance boost.
SQL Server 2014 editions
There are three main editions and two other editions:
- Business Intelligence
- Developer – licensed under the Developer Tools model for non-production use, which is ‘Per User’ based
- Express – free downloadable and distributable
The Web edition is only available through Service Providers with the SPLA license agreement.
- Server + CAL, Provides the option to license users and/or devices, with low cost access to incremental SQL Server deployments.
- Per Core, Gives customers a more precise measure of computing power and a more consistent licensing metric, regardless of whether solutions are deployed on physical servers on-premises, or in virtual or cloud.
Licensing using the Server+CAL Licensing Model
When licensing the SQL Server 2014 environment through Server+CAL licensing you will have two components you have to license, Server licenses and Client Access Licenses (CALs).
Every operating system environment (OSE) running SQL Server 2014 software or any of its components must have a SQL Server 2014 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, 2012 and 2014 when you have SQL 2014 CALs. While version specific, each SQL Server 2014 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 (Server+CAL licensing)
To license individual VMs using the Server+CAL model (available for SQL Server 2014 Standard and Business Intelligence editions only) customers simply purchase one server license for each VM running SQL Server software, regardless of the number of virtual processors allocated to the VM. For example, a customer who wants to deploy Standard Edition running in ten VMs, each allocated with four v-cores, would need to assign ten SQL Server 2014 Standard server licenses to that server. Each user or device accessing SQL Server 2014 software, regardless of a virtual or physical deployment, requires a SQL Server 2014 CAL.
Licensing Individual Virtual Machines (Core-Based Licensing)
Like the Per Core licensing model in physical OSE’s, all virtual cores (vCore) supporting virtual OSEs that are running instances of SQL Server 2014 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 2014 Standard Edition customers who are running the software in a virtualized environment under the Per Core model.
With SQL Server 2014, Microsoft provides support for license mobility as an exclusive SA benefit available for all SQL Server editions.
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 firewall. With the Per Core model, customers do not need to purchase additional client access licenses (CALs) to access the SQL Server software.
You have the following two options for licensing under the per core licensing model:
- Individual Virtual OSE. You can license based on individual virtual OSEs within the server that are running the server software. If you choose this option, for each virtual OSE in which you run the server software, you need a number of licenses equal to the number of virtual cores in the virtual OSE, subject to a minimum requirement of four licenses per virtual OSE. In addition, if any of these virtual cores is at any time mapped to more than one hardware thread, you need a license for each additional hardware thread mapped to that virtual core. Those licenses count toward the minimum requirement of four licenses per virtual OSE.
- Physical Cores on a Server. You can license based on all of the physical cores on the server. If you choose this option, the number of licenses required equals the number of physical cores on the server multiplied by the applicable core factor located in the SQL Server Core Factor Table
Licensing for Maximum Virtualization
Maximum virtualization can be achieved by licensing the entire physical server with Enterprise Edition core licenses and covering those licenses with Software Assurance (SA).
Licensing the physical layer with SQL Server 2014 using the Per Core Licensing Model on all physical cores can reduce overall costs. With SQL Server 2014 Enterprise Edition, customers who have licensed all physical cores on the server can run an unlimited number of instances of the software in a number of OSEs (physical and/or virtual) equal to the number of core licenses assigned to the server. For example, a four processor server with four cores per processor—fully licensed with sixteen core licenses—can run SQL Server software in up to sixteen VMs, regardless of the number of virtual cores allocated to each VM.
If you want to run more VMs than are permitted, to handle dynamic workload and fully utilize hardware computing power, than you have to buy and assign additional core licenses to the licensed server. Each additional core license allows deployment of SQL Server software in an additional VM, so in the previous example, a customer who wants to run SQL Server Enterprise Edition in eighteen VMs would simply acquire and assign eighteen core licenses to that server.
With the addition of Software Assurance (SA) coverage on all Enterprise Edition core licenses (for a fully licensed server), customers’ use rights are expanded to allow any number of instances of the software to run in any number of OSEs (physical or virtual). This valuable SA benefit enables customers to deploy an unlimited number of VMs to handle dynamic workloads and fully utilize hardware computing capacity.
Note: This benefit ends when SA coverage expires.
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 2014 provide basic high availability features including backup log shipping, database mirroring and two-node failover clustering. Advanced (AlwaysOn) high availability features in SQL Server 2014 Enterprise Edition include enhanced support for multiple, active (readable) secondary servers and support for multi-site failover clustering. Log shipping and database mirroring take place at the database level, whereas failover clustering takes place at the SQL Server instance level.
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.
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 2014 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
Enhanced for SQL Server 2014 Enterprise Edition, AlwaysOn Availability Groups enable customers to configure multiple databases that will failover as a unit, including support for up to eight 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 2014 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 is a usage right that is available for all editions of SQL Server 2014 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.
Upgrades, Downgrades and Step-Ups
When licensing SQL Server 2014 software, several deployment options are available to support a variety of upgrade scenarios.
Version Upgrade Rights are offered as a Software Assurance (SA) benefit for qualified licenses and allow customers access to upgrade their deployments at no additional cost. Existing SQL Server 2012 software licenses covered by SA are automatically upgraded to licenses for the corresponding SQL Server 2014 edition.
Cross Edition Rights are currently available for certain SQL Server products only and allow customers to deploy an alternate (usually lower) edition in place of the currently licensed edition. SQL Server
cross edition rights can be combined with the version downgrade rights (available for all products offered under a Volume Licensing Agreement) that allow customers to deploy prior versions of the software in place of the currently licensed version. In some cases, rights to deploy prior versions of product editions other than the edition currently licensed may also be allowed. See the table below for which version.
Note: When using version downgrade or cross edition deployment rights, the product use rights for the originally licensed version and edition still apply.
Edition Step-Ups are offered as a Software Assurance (SA) benefit in certain Volume Licensing programs only and allow customers to move from a lower product edition. SQL Server 2014 Standard Edition server licenses can step-up to SQL Server 2014 Business Intelligence Edition and SQL Server 2014 Standard Edition core licenses can step-up to SQL Server 2014 Enterprise Edition. And new for SQL Server 2014, SQL Server 2012 PDW core licenses are now eligible to step-up to SQL Server 2014 Enterprise core licenses. To be eligible to step-up to a higher edition, the lower edition license must be covered by SA. Step-Ups between licensing models are not allowed.
How to buy?
SQL Server 2014 software licenses are sold through a lot of different channels. These sales channels include online retailers offering full packaged product (FPP) licenses of SQL Server software, Original Equipment Manufacturers (OEMs) offering pre-installed licenses with their hardware systems, as well as Licensing Solutions Partners (LSPs) and Enterprise Software Advisors (ESAs) offering SQL Server software through Microsoft Volume Licensing programs for end-customer organizations. Comprehensive programs that offer Software Assurance as a fixed benefit include the Open Value, Open Value Subscription, Enterprise Agreement (EA), Enterprise Subscription Agreement (EAS) and the Server and Cloud Enrollment (SCE). Transactional programs include Open and Select Plus.
The Server and Cloud Enrollment (SCE) is an enrollment under the Microsoft Enterprise Agreement that enables highly committed customers to standardize broadly on one or more key server and cloud technologies from Microsoft. In exchange for making an installed base-wide commitment to one or more components of the Server and Cloud Enrollment, customers receive the best pricing and terms, plus other benefits, including cloud-optimized licensing options and simplified license management.
Also if you are going to a cloud or you are a cloud provider you will partner with Microsoft to provide additional software and services, such as the Microsoft Independent Software Vendor (ISV) Royalty Licensing Program and the Microsoft Services Provider License Agreement (SPLA).
Time to upgrade?
Upgrading to a new release is usually a difficult decision for most organizations. However, SQL Server 2014’s new In-Memory OLTP engine, with its promise of significantly improved application performance, offers a very compelling reason to upgrade for customers using SQL Server to support OLTP applications. One great way to find out the type of performance improvement that you might get out of SQL Server 2014’s In-Memory OLTP capability is to download and install the SQL Server 2014 Evaluation Edition and use the AMR tool to analyze your production workload. The AMR tool supports collecting data on SQL Server 2008 and later instances. This will give you a good idea of the type of performance improvements that you might expect to get using the new In-Memory OLTP engine as well as the changes that you might need to make to implement it. SQL Server 2014’s In-Memory OLTP support promises to boost your database application performance to the next level.
In most cases I came across last years the most SQL servers are virtualized SQL Server Standard editions licensed with Per-Core licensing and SA on top.
If you have to answer one of the following questions with yes, I would suggest you go with the Per-Core based licensing.
- Going to run in a virtual environment and have more than 30 users or devices accessing the SQL Server(s)?
- 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 2014 Enterprise edition?
- Are the total licensing for server/CAL based higher than core based?
If you compare the licensing between SQL Server 2012 and 2014 the two major difference I found are that instead of four you can can have support for up to eight active secondary servers now in high availability and licensing for maximum virtualization is now VM capped on the amount of licenses instead of Core capped.
About SQL 2014 Licensing – http://www.microsoft.com/licensing/about-licensing/sql2014.aspx
Microsoft Volume Licensing Programs – http://download.microsoft.com/download/a/7/0/a70853c1-a783-4d48-a7ad-f404abdb1e7d/Microsoft_Volume_Licensing_Reference_Guide.pdf
Per Core Licensing Volume Licensing Brief – http://www.microsoft.com/licensing/about-licensing/briefs/licensing-by-cores.aspx