As SQL Server 2019 gets closer to GA status sometime during 2019, I have an “ask” for the decision makers at Microsoft who do the final analysis and actually decide what the hardware-based license limits will be for SQL Server 2019 Standard Edition. My ask is that these limits be raised for SQL Server 2019.
SQL Server 2017 Standard Edition License Limits
SQL Server 2017 Standard Edition has a 128GB limit (per instance) for the Database Engine, plus an additional 32GB per database for in-memory OLTP, and an additional 32GB per instance for Columnstore index usage. These license limits were the same for SQL Server 2016 with Service Pack 1.
SQL Server 2017 Standard Edition is also limited to the lesser of four sockets or 24 physical cores on non-virtualized instances. On virtualized instances, it is limited to the lesser of four sockets or 24 virtual cores (which may map to logical or physical cores).
SQL Server Standard Edition Licensing History
These Standard Edition license limits have slowly risen over the years. SQL Server 2008 Standard Edition was limited to four sockets, but could use the operating system limit for RAM. SQL Server 2008 was still using processor licensing, so there were no core-based license limits. SQL Server 2008 R2 Standard Edition was also limited to four sockets, but was limited to 64GB of RAM (per instance). SQL Server 2008 R2 still used processor licensing, so there were no core-based license limits.
SQL Server 2012 Standard Edition was limited to 64GB of RAM (per instance). It was also limited to the lesser of four sockets or 16 physical cores. Microsoft raised memory limit for SQL Server 2014. SQL Server 2014 Standard Edition was limited to 128GB of RAM (per instance). It was still limited to the lesser of four sockets or 16 physical cores.
Microsoft raised the core limit for SQL Server 2016. SQL Server 2016 RTM Standard Edition was still limited to 128GB of RAM (per instance). It was limited to the lesser of four sockets or 24 physical cores. There were no license limit increases for SQL Server 2017 Standard Edition. This means we haven’t had a license limit increase for SQL Server Standard Edition since June 2016.
Recent Hardware Advances
In June 2016, Intel Broadwell processors had a maximum of 24 physical cores, which meant that you could hit the SQL Server 2016 core license limit on one socket. It was also very easy to exceed the SQL Server 2016 core license limit with many, lower core count SKUs on a two-socket server. This was a more common scenario.
In May 2019, we now have Intel Cascade Lake-SP processors that have a maximum of 28 physical cores. We will soon have AMD EPYC “Rome” processors that have a maximum of 64 physical cores. These hardware advances mean that there is a good argument that the core license limit should be increased to a higher number. If Microsoft increased the core limit to 64, you would be able to use a two-socket server with two flagship Intel 28-core processors. You would also be able to use a one-socket server with one flagship 64-core AMD EPYC “Rome” processor.
I also believe that the per instance memory limit should raised to a higher value. My suggestion would be to go to 256GB, which would double the current limit. Server-class DDR4 memory prices have gone down to about $7.00/GB for 32GB DIMMs, so it is feasible and affordable to purchase more RAM than people might have used in the past.
SQL Server 2019 Enterprise Edition Value Proposition
The obvious argument for why Microsoft should NOT raise these hardware license limits is that it might cause more people to use SQL Server 2019 Standard Edition rather than SQL Server 2019 Enterprise Edition, which would reduce Microsoft’s revenues. I think this change would actually encourage more people to finally upgrade from legacy versions of SQL Server Standard Edition to SQL Server 2019 Standard Edition. Being able to use higher core count processors and more memory would be an attractive combination which would increase revenues from SQL Server 2019 Standard Edition.
Microsoft could (and really should) do a better job of demonstrating the value of SQL Server 2019 Enterprise Edition for performance, scalability, and useful Enterprise-only features. They could use KB articles, whitepapers, and blog posts to discuss the low level optimizations that are already in Enterprise Edition but not in Standard Edition. Putting all of this information together would be extremely valuable.
For example, running a common benchmark like DBHammer on SQL Server 2019 Standard Edition, and then doing an Edition Upgrade and re-running the benchmark on the exact same system would be a pretty simple way to confirm performance increases. This could be extended by making easy configuration or database/code changes to fully leverage Enterprise Edition and rerunning the benchmark.
Doing a good job of explaining the value of Enterprise Edition would protect Enterprise Edition sales, and actually encourage more people to do Edition upgrades. I have done some work in this area, such as this article:
I don’t have any illusions that Microsoft will just do what I say here. I really do hope they raise these license limits for SQL Server 2019 in order to help create an even more compelling upgrade story. What do you think? Is 128GB of RAM and 24 cores enough?