In March, Microsoft released new documents, the “SQL Server 2012 Licensing Quick Reference Guide” and the “SQL Server 2012 Licensing Datasheet and FAQ”. Both are available online from this Microsoft SQL Server licensing page. The most noticeable change from the previous edition is the introduction of a core factor table similar to the Oracle Processor Core factor and the IBM Processor Value Unit tables. The new Microsoft table is very simple and considers several case scenarios:
- All cores of a physical processor (socket) must be licensed with a minimum of 4 cores. This explains why the factor is 4 for single core and 2 for dual core processors.
- Some AMD processors have a core factor of .75 as they are deemed less powerful than Intel processors with an equal number of cores.
The March 2012 table is published online and is subject to change overtime. These changes will likely be driven by the release of new processor models. This is another piece of the licensing agreement that is now published online, like the product use rights document that is updated on a quarterly basis. The calculation of a license position must consider these rules, so monitoring any change is required to accurately measure compliance.
Using the Microsoft core table for physical machines is very simple. The number of cores for all processors is counted, then the core factor is applied and the result is the number of licenses that need to be purchased. For instance, if a server is equipped with 2 Intel Xeon 6 core processors, then 12 core licenses are needed as the core factor is “1” for Intel processors with 6 cores. When it comes to purchasing, core licenses are only sold by packs of two, so only 6 “packs of 2 cores” are needed. With AMD processors, the calculation may not provide an even number. For instance, an AMD FX-6100 6 core processor will require 5 core licenses (6 *.75= 4.5 rounded to 5) and the purchase of 3 “packs of 2 cores”. The extra unused core can be reallocated to another machine. Note that hyper threading is never considered for physical machines.
On virtual machines, the core table is never used. What is counted is the number of virtual cores (v-cores) supporting each virtual operating system environment (OSE), with a minimum of 4 v-cores per environment. The definition of a v-core is done at the hardware thread level: if multiple hardware threads are supporting a single virtual core, then additional licenses are needed for each thread. With the Standard Edition, each VM needs to be licensed individually. With the Enterprise Edition, there is also the possibility to license all the cores on a physical server and then run an unlimited number of SQL Server instances in physical and virtual machines, up to the number of core licenses assigned to the server. With Software Assurance, and only for the duration of it, this last limit is lifted and the number of v-cores where SQL Server is running may exceed the total number of physical cores.
Details are provided on how to migrate licenses from the processor to the core model under Software Assurance. No change is required until the end of your current agreements but the possibility exists to use the SQL Server 2012 core license model for specific deployments with new or existing licenses. At the end of their current enrolment, customers must perform and record an inventory of their servers. Their current processor licenses will be translated to core licenses according to their findings. Microsoft also guarantees a minimum number of core licenses per processor depending on edition: 8 per SQL Server Datacenter edition processor licenses and 4 for any other edition. There are two additional restrictions:
- To exchange a SQL Server processor license for core licenses, SA coverage must be renewed based on the number of core licenses required to license all of the physical cores in the processor.
- To be eligible for more than the minimum exchange, the total number of processor licenses assigned to a given server cannot exceed the total number of physical processors in the server.
The primary impact of these changes is on SQL Server licensing costs. There is no benefit in licensing old servers with less than 4 cores per processor considering that 4 cores at a minimum must be licensed for each processor. Configurations where processors have 4 cores will not be impacted by the change. Licensing SQL Server on high end processors may be significantly more expensive.
If we compare the price of SQL Server 2008 R2 Enterprise edition ($27,495 per processor) and SQL Server 2012 R2 Enterprise Edition ($6,874 per core), and apply the .75 core factor to AMD processors over 4 cores, the figures go as follows for a single processor:
As you can see, the use of newer processors with a large number of cores substantially increases the SQL Server core-based license cost.
To learn more about optimized license management for the datacenter, please download our whitepaper.