For Day 8 of this series, I want to talk a little bit about the various hardware license limits that are present in SQL Server 2012. These limits vary based on what edition of SQL Server 2012 you will be using, and what operating system you will be using. You need to keep these limits in mind as you are selecting and configuring your hardware.

Table 1 shows the RAM limits by Edition for different uses when you are running on Windows Server 2008 R2 SP1.

SQL Server 2012 Edition Database Engine RAM Limit Analysis Services RAM Limit
Standard Edition 64GB 64GB
Business Intelligence Edition 64GB 2TB on Windows Server 2008 R2 SP1
Enterprise Edition 2TB on Windows Server 2008 R2 SP1 2TB on Windows Server 2008 R2 SP1

Table 1: RAM Limits for SQL Server 2012 on Windows Server 2008 R2 SP1

Table 2 shows the higher maximum RAM limits when you are running on Windows Server 2012.

SQL Server 2012 Edition Database Engine RAM Limit Analysis Services RAM Limit
Standard Edition 64GB 64GB
Business Intelligence Edition 64GB 4TB on Windows Server 2012
Enterprise Edition 4TB on Windows Server 2012 4TB on Windows Server 2012

Table 2: RAM Limits for SQL Server 2012 on Windows Server 2012

Believe it or not, current server hardware is already getting close to these hardware license limits for RAM. If you are willing to pay the extra money for 32GB DDR3 RDIMMs, you can get 2TB of RAM in a four-socket server, and 4TB of RAM in an eight-socket server. The prices for 32GB DDR3 RDIMMs are finally starting to decrease (although they are still much more expensive than 16GB DDR3 RDIMMs), going from about $52/GB down to about $39/GB in the last couple of months. The smaller 16GB DDR3 RDIMMs are still much less expensive, at about $12/GB.

When the upcoming 15-core, Intel E7-4800 v2 and Intel E7-8800 v2 (Ivy Bridge-EX) processors are released in Q4 of 2013, you will be able to get 6TB of RAM in a four-socket server and 12TB of RAM in an eight-socket server. I would not be surprised to to see Microsoft raise the OS RAM limit on Windows Server 2012 when that happens, perhaps when Windows Server 2012 SP1 is released. (Note: I updated this information based on information announced at IDF2013).

SQL Server 2012 Standard Edition still has a RAM limit of 64GB. This low limit may catch many people by surprise, since it is very easy to have much more than 64GB of RAM, even in a two-socket server. You should keep this RAM limit in mind if you are buying a new server and you know that you will be using Standard Edition. One possible workaround for this limit would be to have a second or third instance of SQL Server 2012 Standard Edition installed on the same machine, so you could use more than the 64GB limit for a single instance. The physical socket limit for SQL Server 2012 Standard Edition is still four processor sockets or sixteen logical cores, whichever is lower.

As far as the limits for total logical cores are concerned, you can go all they way up to 640 logical cores with SQL Server 2012 Enterprise Edition running on Windows Server 2012 Standard Edition, while you can only go up to 256 logical cores on Windows Server 2008 R2 SP1 Enterprise Edition. This is less of a problem with current hardware. An eight-socket server with Intel Xeon E7-8870 processors would only have 160 logical cores, while an eight-socket server with upcoming Intel Xeon E7 88xx v2 processors would have 240 logical cores.

Make sure to remember these license limits if you are buying a new server that will be running SQL Server 2012 (or if you are upgrading to SQL Server 2012 on a large existing server, because they are different than they were on SQL Server 2008).