Licensing Microsoft SQL Server 2012

With the proliferation of virtual machines and powerful multi-core servers, it is no surprise that Microsoft has introduced a per-core licensing model with SQL Server 2012. I hope to make the various ways of licensing SQL Server 2012 a little easier to understand.

First, lets discuss the SQL Editions that will be available. SQL Express, Web, Developer, Standard, and Enterprise Editions return in 2012, as well as a new entry to the field called Business Intelligence Edition. The datacenter edition is being retired, all of it’s features are now included in the Enterprise Edition. The Enterprise and Web Editions are only available in the Per-Core licensing model, while the Business Intelligence Edition will only be available in the Server+CAL model.

For more details on the features available in the various Editions, please see this web site:

http://www.microsoft.com/sqlserver/en/us/editions.aspx

Server + CAL

If you are already familiar with the Server + CAL licensing model, then have no fear! Nothing has changed about this licensing model. For those of you not familiar, this licensing model has the most administrative overhead, but is also the most straight-forward if you know how many users and/or devices connect to your server. Basically you license a server regardless of the number of processors or cores, then you purchase a Client Access Licesnse (CAL) for each User or Device that connects to the server. This usually only makes sense for groups that have few users, but several servers that they all connect to.

A word about virtualization: In the context of Server+CAL licensing, the word server means OS, not physical server. If you had several virtual servers running on one physical server, under the Server+CAL model, you would need to purchase one server license for each virtual server.

Per-Core Licensing

At first, the idea of licensing each processor core may sound simple enough, but there are some built-in complications. For instance, Microsoft has set a minimum of 4 cores licensed per server. This means that if you are only using two cores on a SQL server, physical or virtual, you will be paying for cores that you will not be able to use.

On the up side, If you have a powerful server with lots of processor cores, there are several ways you can use per-core licensing to your advantage. You are able to license all cores on a server, and then you are free to run as many virtual SQL servers as you have core licenses – regardless of how many virtual CPUs each VM has. If you would like to run more virtual SQL Servers than this, you can purchase one additional core license for each additional VM. For example, if you have licensed all 8 cores on a server, and you wish to run 10 virtual machines on that server, you would purchase 10 core licenses for that server. The exception to this is Enterprise Edition. If you license all cores for Enterprise Edition, you retain the unlimited virtualization rights that came with SQL 2008’s Datacenter Edition. Alternatively, you can license only the virtual cores that you will be using, if you choose. For example, if you have a server with 16 processor cores, and you run two virtual SQL servers with 4 virtual CPUs each, you only need 8 cores licenses. If you instead run SQL on the same physical server not virtualized, you would be required to license all 16 processor cores.

I hope this hasn’t been too confusing so far, because it is about to get even more fun. Unfortunately, determining how many cores you need to license isn’t quite as simple as just counting them. In order to determine how many cores you need to license for various processors, Microsoft has invented a list of ‘core factors’ that they have assigned to different processors. In order to determine how many core licenses you need to purchase to license an entire server, you multiply the number of processor cores by the core factor, based on the following chart:

AMD 31XX, 32XX, 41XX, 42XX, 61XX, 62XX Series Processors with 6 or more cores 0.75

All Dual Core Processors 2

All Single Core Processors 4

All Other Processors 1

So, if you were planning to license a server with two AMD 6172 12-core processors, you would multiply the 24 cores by the 0.75 core factor to get 18. You would only need to purchase 18 core licenses to fully license this server.

It is not clear to me why there is no other core factor for Intel chips with a high core count. This may change in the future, so please be sure to check for the latest information on core factor calculations at the following website: http://go.microsoft.com/fwlink/?LinkID=229882 (PDF)

A word about Passive Failover:

For each license purchased, you are allowed to run one passive failover server with the same licensing. It does not matter if you use the per-core licensing model, or the Server+CAL model. If you have purchased 3 Server Licenses and several CALs, you are allowed to run 3 passive failover servers. The same applies to the per-core model – if you have licensed 8 cores on a server, you are allowed to run a passive failover server with 8 cores licensed. This only works for truly passive failover servers, there can be absolutely no active workloads on the server, or on any of the cores used this way in the case of a virtualized server licensed using the per-core model.

Transitioning to the new Licensing Model:

If you have Software Assurance (SA), you should be aware of a few things when transitioning to SQL Server 2012 and the per-core licensing model. Since the Enterprise Edition is no longer available in the Server+CAL model, you will have no choice but to move to the per-core licensing model. If you previously licensed any SQL server edition by processor or by Server, you are eligible to renew each processor license into a minimum of 4 core licenses, or the actual number of cores available on the processor, whichever is greater. There is a maximum of 20 cores granted to those moving from the Server+CAL model to the per-core model, so if you have more cores than that in your server, you will have to purchase extra core licenses to cover them.

It will be necessary to know exactly how many server and or core licenses you need before you transition to the new licensing model. If you do not already have a detailed inventory of all of your SQL servers and the number of processors and cores in each, Microsoft recommend using the Microsoft Assessment and Planning (MAP) Toolkit (http://technet.microsoft.com/en-us/solutionaccelerators/dd537572.aspx) which will discover all SQL Server instances as well as Oracle and MySQL instances that are running on your network, and assist you in preparing a detailed inventory. If you do decide to use this tool, please be aware that it may not always accurately report the number of cores on a processor – read the documentation thoroughly!

License Mobility:

Those who license SQL Server 2012 and have Software Assurance are allowed to reassign these licenses to other servers or cores at any time. vMotion/DRS/Live Migration anyone? You are also allowed to assign these licenses to virtual machines that live in the cloud, a separate data center, or even a 3rd party host. If you do not have Software Assurance, you are only allowed to reassign licenses every 90 days.

So What is it going to cost me?

I’m not going to quote any actual numbers, as what you or your organization actually pay is going to vary based on several factors. I can tell you that in my experience, real-world licensing of SQL 2012 has turned out a little more expensive than licensing of SQL 2008, but not budget-busting. There is one exception: If you are using SQL 2008 R2 Datacenter Edition, you will retain all of the same rights by licensing SQL 2012 Enterprise Edition for all cores on a server at roughly half the price that SQL 2008 R2 Datacenter Edition would cost for the same server licensed by processor. This would vary somewhat based on the processor and/or core count, of course.

Summary

Know what you are getting in to. Take the time to do a proper inventory. Do the math for both per-core and Server+CAL licensing where possible, you might find that it is much cheaper one way than the other. Get familiar with the features that are available in each edition, you might be paying for features you don’t use!