What is SQL Server Core Edition?

Sorry to necro here, but just in case someone else hits this page with a similar question, and since there's so little documentation about this...

Short: The regular "Enterprise" (non-"core") edition caps the cores at 20, period. The "core" edition has no such cap. This is not a guess, it's a provable certainty. I ran into the specific question "when do I NEED the Core edition, vs. not?" about a year ago.

The good news: an edition upgrade from non-core to core is utterly painless and very fast. As in it takes longer just to get to the Upgrade button in setup, than to actually perform the upgrade when you hit it.

Virtualization side-note: this has nothing to do with cores on the host. Just how many are assigned to the Windows VM. I'm not sure how or why anyone would give a VM more than 20 cores (at that point your host is already a dedicated server most likely), but if so... then yeah, this applies to your guest. If your host has 40 cores but you never assign 20+ to any guest, don't worry about it.

Explanation: The non-core edition, as others stated, is intended for Server/CAL licensing. Even if you're paying for core licensing, and paying for more than 20 cores on a server, it's still capped at 20. Yes - that means you're wasting a LOT of money. Yes, that sucks - so if your boss is itching for a reason to fire you, be sure to point out that yeah... documentation about the "Core-licensing" edition is extremely lacking. Or be sure you have an unloved teammate you can throw under the bus. :). I ran into this the hard way, on a server with 60 cores, running for over a year, and because admittedly I was not paying enough attention... yeah, we were effectively wasting 40 core licenses. I'm lucky though - I have a cool boss, plus three teammates and two lead developers that also had no clue about this, backing me up.

p.s. You can verify this yourself, the same way I finally discovered it, on a server with more than 20 cores of course. Check sys.dm_os_schedulers, in particular the "status" column. Cores in-use show "VISIBLE ONLINE." If you have more than 20 cores, but the non-core edition, you'll see only 40 rows with that status. With the Core edition, you'll see twice as many rows as you have cores. "40" and "twice" are assuming HT is enabled; if not, half those figures. This is also assuming you didn't monkey with processor affinity.

p.p.s. in fairness to the community at large, most DBAs don't ever see a server with more than 20 cores unless they're in a large enterprise environment. Even then, if scale-out strategy is usually "the norm," you'll normally have not-quite-beast-level servers. 20+ cores means you have a seriously loaded database, a budget that doesn't even flinch at buying a server that costs 6 figures, and multiple levels of bosses that are all on the same page. Yeah... not a very common scenario. Doesn't really excuse MS, even their licensing "experts" never bothered to point this out in the course of the past nine years, but at least it explains why not many people seem to "know" about this.


I was confused by this too...

From my research it seems that Enterprise Core is in fact just the per-core licensing version of Enterprise. (Contrary to your own answer).

As a Microsoft Partner, the "Enterprise Core" version was all that was available to me in our Partner Download Portal. I thought it strange that I would be restricted to installing SQL to Windows Core, but as I discovered when I went to install it on full Windows Server 2008 R2, it proceeded without difficulty.

Since both entries in your image are the same file size, I'd hazard a guess that the two versions have been mistakenly added to MSDN and are in fact the same thing.


I am a SPLA provider, and when I look at the core editions, it states that it is for licensing two cores, as opposed to one processor. The core download and the full download are both the EXACT same size. That tells me that the core edition has NOTHING to do with the core version of windows, it has to do with licensing.


Not only do they NOT tell you the difference between Enterprise and Enterprise Core. They have continued this practice of misnaming the downloads into SQL Server 2014. It is very easy to make a mistake and download the wrong version and wind up with a server with only 1/2 of it's cores working... Microsoft should make the following changes:

They should name "SQL Server 2012 Enterprise Edition with Service Pack 1 (x64) - DVD (English)" as "SQL Server 2012 Enterprise Edition-Server-CAL-License with Service Pack 1 (x64) - DVD (English)"

It would probably be helpful if they changed "SQL Server 2012 Enterprise Core Edition with Service Pack 1 (x64) - DVD (English)" to "SQL Server 2012 Enterprise Per Core Licensing Edition with Service Pack 1 (x64) - DVD (English)"

This will go a long way and make it more clear to their customers. The lack of clarity is unacceptable.