I’ve complained in the past about how SQL Server 2008 R2 and SQL Server 2012 artificially constrained SQL Server Standard Edition to a mere 64 GB of RAM (and a total of 16 cores). SQL Server 2014 happily raises that artificial constraint to 128GB of RAM.
But I maintain that 128GB is still too greedy on Microsoft’s part.
Put another way, since Microsoft has switched SQL Server licensing to a per core model (which is only fair given the state of the processor market), an organization that decides to license a SQL Server 2014 Standard Edition instance with 16 cores will have to pay to license all of those cores, but only be able to power each of those cores with a paltry 8GB of RAM.
A Better Approach to Licensing: License Memory per Core
In my mind, if Microsoft is going to charge per core, then Standard Edition memory limits should be based on the number of cores present. Under such an approach, if each core came with support for say 24-32GB of RAM, then a minimal 4-core license deploymenmt would come with support for 96-128GB of RAMm and a 16-core server would come with support for 384–512GB of RAM. (Personally, I think the 16-core limit for Standard Edition is just fine—larger machines almost invariably end up being more 'enterprise-y' in terms of usage.)
Granted, such an approach to licensing memory would tend to complicate things a bit (licensing is already confusing enough as is). But I can’t help but think that such an approach wouldn’t end up making Standard Edition feel, again, like a full-fledged citizen and make licensing it feel a bit more fair.
The problem, though, is that I’m not sure that Microsoft is interested in trying to be fair.
A Question of Revenue
If we take an overly-simplified look at licensing and assume that Standard Edition licenses cost roughly $3k per 2-core pack, and SQL Server Enterprise Edition weighs in at roughly $18K per each 2-core pack, then it’s not too hard to see which edition Microsoft would want to sell. (I also continue to maintain that the benefits that Enterprise Edition brings to the table are well worth the price increase.)
That math aside, the notion I can’t seem to shake is how Microsoft seems to be bent on marginalizing Standard Edition—both in the sense of the artificial constraints placed upon how much memory it can use, and in terms of what seems to be a shift in focus on the role of Standard Edition from Microsoft. Take, for example, the following description pulled from Microsoft’s website describing the role of SQL Server Standard Edition:
SQL Server Standard provides core data management and business intelligence capabilities for non-critical workloads with minimal IT resources.
Assuming a server with dual-hexa-core processors, licensing such a server with Standard Edition would weigh in at the need for 6x2-core packs, or roughly $18K. Granted, that’s not enough to break the bank, but I’m pretty sure that many small-to-medium businesses might balk at the notion of paying around $10-15K for hardware and then $18K for licensing on what Microsoft defines as a "non-critical" workload—when that workload could, in fact, be a key component of the core of their business.
Put differently, Microsoft would be insane not to focus on Enterprise Edition. But, I also suspect that SQL Server didn’t battle its way to the No. 1 most-heavily used RDBMS solely because of Enterprise Edition sales. In fact, I’d wager that the bulk of Microsoft’s SQL Server customers are actually part of the "Global Fortune 1,000,000" running on a heavy degree of Standard Edition than they are Fortune 500 businesses running on Enterprise Edition. As such, I guess I continue to be just a bit confused and chagrinned at how Microsoft seemingly keeps on trying to marginalize SQL Server Standard Edition.
Related: SQL Server 2012 Licensing Help