Which SQL Server Enterprise Edition Should I Download?

When you’re downloading SQL Server, it’s important to choose Enterprise Core, not Enterprise. The plain “Enterprise” one is limited to just 20 CPU cores.

But let’s say you didn’t know that, and you waltzed over to the download page. There are two Enterprises listed, and it’s not really clear what the differences are between the two:

If you click the “Info” link on the Enterprise version, there are no hints to indicate what’s about to happen. But if you download that SQL Server Enterprise one, install it, and then look in the error log after startup, there’s a tiny message hidden in a sea of text:

You see it right there? No? Of course you don’t. ENHANCE!



SQL Server is only using 20 physical CPU cores, no matter how big your machine is. For example, here’s a 128-core VM where this “Enterprise Edition” was installed:


This is especially problematic when the DBAs are seeing tons of SOS_SCHEDULER_YIELD waits, indicating there’s massive CPU pressure, but the sysadmins are saying, “The server’s only 31% busy. Must be a SQL Server problem.” And technically…it is.

This gets better in SQL Server 2019.

If you try to install the plain “Enterprise” version on a big box, you get a warning:

I would argue that the warning is hidden in a small sea of text that a lot of people are going to skip, but still, it’s better than what we had before. Plus, the warning comes up again later during the install:

And if you click on the Warning hyperlink:

Yay! That’s a great improvement.

Previous Post
Wanna Learn How I Use the First Responder Kit?
Next Post
How to Pick a 2020 Microsoft Database Conference

30 Comments. Leave new

  • Michal Pawlikowski
    February 6, 2020 5:26 am

    Finally! Thanks for the update.

  • Daniel Hutmacher
    February 6, 2020 6:21 am

    “No user action is required” is subject to debate. 🙂

  • Chris Mangrum
    February 6, 2020 8:27 am

    Thank you! I have looked for this exact information elsewhere in the past, and what has been available up to now has been contradictory and based on “what support said.”

  • Scott Buchholz
    February 6, 2020 9:00 am

    I always chuckle when I read this kind of stuff. Not because it’s not awesome, but because the workloads here at my small municipality are so tiny compared what so may of you deal with. My busiest instance is 4 cores. And due to licensing my quietest instance is…4 cores. I know, I could easily consolidate everything, but…business reasons. Anyway, some of us are driving a Ferrari for grocery runs and the nice thing is, if we follow even just the most basic of Brent’s guidance, things run great and we can spend a lot of our time reading about scenarios rather than having to deal with them. 🙂

  • Huh. I thought enterprise + cal was eliminated in like SQL 2012?

    • Keith – the licensing method was, but the installer soldiers on to this day. From what I hear, MS still allows some exceptions, allowing folks to continue to license the 20-core limited version if they originally owned CALs.

  • Well fudge… Thanks for sharing! Any tips on seeing how many cores are being used from T-SQL (without having to RDP into the box)? Is there a difference in the @@Version string between these? Trying to figure out what we have in our warehouse now…

    • @@VERSION for the plain install contains “Enterprise Edition (64-bit)”
      @@VERSION for the core install contains “Enterprise Edition: Core-based Licensing (64-bit)”

    • Torstein Sørensen
      February 7, 2020 1:29 am

      You can also get a hint if anything is wrong by checking if there are offline schedulers by running this query: SELECT * FROM sys.dm_os_schedulers where is_online = 0
      If any schedulers are offline, they are mapped to cores not available to SQL Server. Just note that they will also be offline if you have configured affinity mask on the instance without including all cores.

  • Thanks for posting this with details! Enterprise Core is the way to go to avoid being throttled on CPUs.

  • Chris Fournier
    February 6, 2020 10:09 am

    This is hilarious! I encountered this exact issue when I installed Enterprise edition on a 56 core machine, but saw that it only used 40 cores. I even opened up a ticket with MS (where they charged me $500) to have them tell me to download the core edition so I could do an edition upgrade.

  • Why would anybody want the Enterprise edition as opposed to core?

    • Its the old server + cal licensing model. Believe it was killed in sql 2012. If you have licenses under that model still youd want it

  • Is there a way (save for creating a new server) to change the edition from Enterprise to Enterprise Core?

  • Learned this the hard way several years ago when running SQL on VMs and we wanted to scale the CPU up during times of peak demand and sadly were limited to 20 cores. Luckily the edition upgrade isn’t too painful as Chris F mentions.

  • What are the practical scenarios when somebody might choose to be running an Enterprise version of SQL Server with those many Cores?
    I wonder how can they afford paying for the licensing cost for the same? (~7k per core).

    • Hrishi – when their workloads are really large, and their companies are making a lot of money off the data. (Examples: e-commerce sites, hedge funds, law firms.)

  • Ajith Bhojani
    February 6, 2020 6:52 pm

    Thanks for the tip mate.

  • Excellent.
    Thanks a lot

  • Kenneth Gardzinski
    February 7, 2020 3:22 am

    Can you believe it! Heh heh heh heh! (Firemarshall Bill Burns)

  • This would be *so* easy for Microsoft to fix with a simple change of the download names. What genius made the decision to include the licensing model in the name of one, but not in the other?

    Then again, if you compare this to the frustration of navigating Oracle’s downloads, it feels like a walk in the park.

  • Have no clue this was happened :O thank you! Is the download page from your first screenshot only accesible through an account with a license associated? I need to download an offline installation media for a client and there’s no way to find it

  • We have always used CALs since the client software we host DBs on SQL for has CALs. I thought core was way more expensive.

    • Englebert – yeah, core-based licensing is more expensive, but if you’re going to let folks from the Internet use your app, core-based is the only choice if I remember right.

  • Useful warning. I imagine the “Windows Server Core” offering that never took off would cause people (myself included) to think it was some sort of “stripped down” version.

    “Back in the day” of SQL 7.0, MSFT used to package the “personal” edition onto all the CD distributions, and someone had accidentally installed Personal instead of Standard onto the clients production server. The throttling was really hurting throughput.

    That I diagnosed the problem, over the phone, in less than 5 minutes was pure, unadulterated luck. Only intended to check the patch level. but I had him read the while @@VERSION string because I can’t be bothered to try and explain the portion I was interested in. My laziness won the day!!!


Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.