SQL Server 2012: Biggest Little Core-house
Now that SQL Server 2012 is generally available to the public, many companies are looking at the new platform and trying to figure out how to move to it and take advantage of all the new cool features. Unfortunately, some folks haven’t noticed/been aware of some of the fine print that came along with this release. I think at this point, it’s safe to say, mostly everyone knows about the change to a core-based licensing model. The part that is now causing major heartache with folks is an issue that Aaron Bertrand (Blog | Twitter) recently brought up in his post that I HIGHLY recommend you go read ‘A cautionary tale about grandfathering CAL licenses in SQL Server 2012 Enterprise’.
To quickly summarize the issue, there’s a 20-core limit in place with Enterprise edition (UPDATE – Thanks for this clarification point Aaron: to be clear, the 20-core restriction *only* applies if you upgrade Server + CAL via SA. With core limit = licensed. In other words if you buy a 64-core Enterprise license, you get to use all 64 cores.)! In a nutshell what that means is if you have a server with 4 8-core processors for a total of 32 cores, and you install SQL Server 2012 on it licensed previously by CAL with SA, SQL Server will only “see”/use 20 of those cores! This is a huge deal and one I’m really surprised has not been addressed more vocally from the user community. I’ve already seen a couple of statements as strong as “based on this, we will seriously start looking at another platform”. My hope is that if enough noise is made from the customer base, Microsoft will at least up that limit similar to how VMware changed their licensing for vSphere 5 based on customer lashback. Have you or your company run into this issue yet? Let me hear your thoughts in the comments.
Yet Another Update: Per Steve Jones’ request in comments, here’s a visual indicator of scenarios and how it could affect you
|Edition||Licensing today||Licensing in 2012||Can I use all my cores?|
|Enterprise||Per Processor (4 procs, 4 cores)||License all 16 cores (buy 8 core packs*)||Yes|
|Enterprise||Per Processor (4 procs, 8 cores)||License all 32 cores (buy 16 core packs)||Yes|
|Enterprise||Grandfathered Server (4×4 cores) + CALs (with SA)||No core packs purchased due to agreement||Yes|
|Enterprise||Grandfathered Server (4×8 cores) + CALs (with SA)||No core packs puchased due to agreement||No (limit to 20)|
|Enterprise||Server (4×8 cores) + CALs (with SA)||License 32 cores (buy 16 core packs)||Yes|
*Core pack comes in pairs so 16 cores requires 8 packs to be purchased, etc.
Additionally, here’s link to licensing FAQ from Microsoft. The one you want to pay attention to (for this scenario) is the last one:
Existing Enterprise Edition licenses in the Server + CAL licensing model that are upgraded to SQL Server 2012 and beyond will be limited to server deployments with 20 cores or less. This 20 core limit only applies to SQL Server 2012 Enterprise Edition Server licenses in the Server + CAL model and will still require the appropriate number/versions of SQL Server CALs for access.
Addendum: Please note, this blog (or any other) should be your definitive source for licensing information. For that, always ALWAYS contact your local Microsoft rep as they have the details of your specific agreements and options. This post is meant for informational purposes only.