Last week, Microsoft announced some pretty fundamental changes in how SQL Server 2012 will be licensed compared to previous versions of SQL Server. With SQL Server 2012, there will be three main Editions of SQL Server. These are Enterprise Edition, Business Intelligence Edition, and Standard Edition. Data Center Edition and Workgroup Edition are gone (both of which are no big loss in my opinion). Developer and Express Editions will still be available, along with Web Edition for hosting providers.

Rather than the old familiar socket-based licensing used in SQL Server 2008 R2 and below, SQL Server 2012 will use a combination of core-based and Server + Client Access License (CAL) based licensing, depending on which Edition you buy (and which choice you make for Standard Edition). With Standard Edition, you can choose core-based licensing or Server + CAL-based licensing. With Business Intelligence Edition, you have to use Server + CAL-based licensing, while Enterprise Edition requires the use of core-based licensing. Standard Edition is the base edition, with a limit of 16 physical processor cores. Microsoft has not announced whether there will be a RAM limit for Standard Edition (like the 64GB RAM limit in SQL Server 2008 R2 Standard Edition). Business Intelligence Edition includes all of the functionality of Standard Edition, plus extra BI features and functionality. Enterprise Edition includes everything in BI Edition, plus all of the extra Enterprise Edition features and functionality. Enterprise Edition is the top of the line edition of SQL Server 2012 that will now get everything that was in SQL Server 2008 R2 Data Center Edition.

If you are using core-based licensing (like you must for Enterprise Edition), each physical socket in your server must use a minimum of four core licenses. That means if you have old hardware that uses dual-core processors, you will still have to buy four core licenses for each socket. That is yet another reason to not use ancient hardware for a new version of SQL Server! Any Intel Xeon processor that only has two physical cores will be at least four-five years old by the time SQL Server 2012 is released, so it really should be retired. Keep in mind that only physical cores count for licensing purposes (on non-virtualized servers), so hyper-threading comes for free.

Core licenses will be sold in two-core packs, again with a minimum of four-cores per physical socket. The full retail license cost per physical core is $6874.00 for SQL Server 2012 Enterprise Edition. This is pretty grim news for AMD, with their higher physical core counts and lower per socket performance compared to Intel. The table below shows the cost differential in pretty graphic detail.

Processor Cores Per Socket Cost Total Sockets Total License Cost/Server Intel Xeon X5690 6 $41,244 2 $82,488 Intel Xeon E5-2690 8 $54,992 2 $109,984 Intel Xeon X7560 8 $54,992 4 $219,968 Intel Xeon E7-4870 10 $68,740 4 $274,960 AMD Opteron 6180SE 12 $82,488 4 $329,952 AMD Opteron 6276 16 $109,984 4 $439,936

For most OLTP workloads, you would be far better off from a performance perspective with a two-socket Intel Xeon X5690 server than you would be with a four-socket AMD Opteron 6180SE server. The extremely large license cost difference between those two choices makes Intel an even more compelling choice.

One way to somewhat confirm this assessment is to look at TPC-E scores for different systems and divide them by the total physical core count for the system (not by the thread-count). Looking at the table below, it seems like a two-socket Intel system is a pretty good choice.

System Processor TPC-E Score Total Cores Score/Core HP ProLiant DL380 G7 Server Intel Xeon X5690 1284.14 12 107.01 HP ProLiant DL580 G7 Server Intel Xeon E7-4870 2454.51 40 61.36 HP ProLiant DL585 G7 AMD Opteron 6176SE 1400.14 48 29.17

Here are the links to the specific TPC-E Submissions that I refer to in the table above:

HP ProLiant DL380 G7 Server

HP ProLiant DL580 G7 Server

HP ProLiant DL585 G7

Of course, a new two socket server will have a lower total RAM limit than a new four socket server. For example, a two socket Xeon X5690 would be limited to 288GB of RAM, which is probably enough for most workloads. A two socket server will also have less total I/O capacity than a new four-socket server because it will have fewer PCI-E expansion slots. Still, you can pretty easily get 5-6GB/sec of sequential throughput out of a modern two socket server, which should be plenty for most workloads. Once the Intel 32nm Sandy Bridge-EP Xeon E5-2690 is released in Q1 of 2012, the wisdom of choosing a two-socket Intel based server will be even more clear.