SQL Server 2012 Licensing and Hardware Considerations

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.

This entry was posted in Microsoft, Processors, SQL Server 2012 and tagged , . Bookmark the permalink.

37 Responses to SQL Server 2012 Licensing and Hardware Considerations

  1. Some great points. AMD can’t be happy. The SQL licensing does seem to be an attempt to get closer to a consumption-based pricing model, though.

    Your TPC-E “score per core” would extend to 1P. The “per core” TPC-E for the 1P configuration of the older PowerEdge 2900 is about 10% better than the “per core” for a 2P configuration, based on posted results. In fact, because the one-socket-only processors are almost a generation ahead of their two-socket cousins from Intel right now, 1P configurations might be even more attractive on a per-core basis. (Assuming you can get enough memory to them.)

    The optimal processor for this new SQL licensing would seem to be a 4-core, high frequency Intel chip with hyperthreading. Will the SQL licensing allow you to disable some cores in BIOS and not count them for licensing? If not, I’m sure Intel could carve out a SKU. (Maybe it was just coincidence, but the 2-core Nehalem E5503 seemed to me to be the “Oracle licensing optimized” chip of its generation.)

  2. Glenn Berry says:

    The one socket Intel Xeon E3-1290 processors (which are basically the same as the desktop Sandy Bridge Core i7 processor) are limited to 32GB of RAM, which somewhat limits their utility for database usage.

  3. chris says:

    Unless I am misinterpreting the information, it appears that Micrsoft has increased the price of SQL Server by about 4X for the 2012 version compare to the comparable 2008 version.

  4. Thanks Glenn for the clear explanation

  5. Pingback: Something for the Weekend – SQL Server Links 11/11/11

  6. DavidSteinJr says:

    I didn’t know that quad core was the minimum for per core pricing. I was hoping that Intel would produce a limited Core processor with higher CPU cycles to provide the best performance to cost ratio.

  7. chris says:

    I just read an article by Denny Cherry. He wrote that a quad core socket requires 2 2-core packs which are supposed to be 1/2 the price of the current license for a quad core socket. That makes the SQL Server 2012 cost the same as the 2008 price for a quad core (2 * 0.5 = 1). For a 6 core socket you pay an extra 50% (3 * 0.5 = 1.5).

    I am most interested in small/medium sized businesses using a single quad core server. My question is: How much more is SQL Server 2012 going to cost? If what Denny wrote is correct, the cost should stay about the same.

  8. Thomas says:

    Hello Glenn,

    thanks for your information. But I think you have overlooked a detail. I read the Microsoft Website yesterday too. Here is the link:
    http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-editions.aspx
    If you scroll down to the table “SQL Server 2012 CAPABILITIES” you can see that in the row “Maximum Number of Cores” at the Enterprise Edition there is a star for the footnote that says:

    *SQL Server 2012 Enterprise Edition server licenses – whether newly purchased or upgraded with Software Assurance – will be subject to a 20 core per server license maximum (137480 $).

    So I think that you will never license more than 20 core for one server. Correct me if I am wrong.

    Have a nice weekend
    Thomas

    • Glenn Berry says:

      Hi Thomas,

      Actually, what they are really referring to is someone who has bought a Server license in the past and has Software Assurance, and wants to purchase or upgrade SQL Server 2012 Enterprise Edition (which requires core licenses). In that type of situation, you would get credit for up to 20 core licenses for the server. I agree that the wording on the web page is pretty confusing, but that is the general intent.

      If you think about it for a minute, would Microsoft really want to limit SQL Server 2012 to only 20 physical cores per server? While at the same time, they are extending Windows Server 8 to support up to 640 logical cores?

      • My interpretation about this 20 cores limitation is that this is only applicable if you’re transitioning from a Enterprise Server+CAL license to SQL Server 2012. You can use that license until your SA agreement is up for renewal. To renew you must transition to Enterprise Core licenses.

      • Dave B says:

        On the editions page it says though the 20 core limit applies to “*SQL Server 2012 Enterprise Edition server licenses – whether newly purchased or upgraded with Software Assurance – will be subject to a 20 core per server license maximum.”

        It appears they are limiting it to only 20 cores per Enterprise license it you are doing EE + CAL based licensing but they don’t point it out very well…you need to glean it from the white paper and a few other spots.

  9. moffitar says:

    I think this is terrible news. The licenses used to cover only physical processors (what you are calling “sockets”). Now they are going to charge for each core? Who is going to be happy about that? My customers certainly won’t be.

    • Oracle and other RDBMS platforms have been priced this way for years, it was only a matter of time before Microsoft changed to it as well. They have been losing out significantly compared to the other platforms on software licenses for SQL Server. I can actually see this change being a big holdback for places upgrading, and I would expect that in 6-10 years it probably will be just as common to see places sticking with SQL Server 2008 because they have the licenses and they can run it without the limitations, but eventually that is going to be just like SQL Server 2000, out of support, hard to work with by comparison and they will have to upgrade.

      • Ryan says:

        Actually Oracle is on a processor license. While the terminology is different it is the same as a socket. A dual Socket Oracle Standard One edition is going to cost ~ $12,000 no matter how many cores. Using the two dual socket systems above with the sql server standard is ~$22,000 for the 2×6 core system and ~$29,000 for the 2×8 core system. I am aware than sql standard can go up to 4 sockets where it would compete with Oracle Standard but I would guess that probably 80-90% of all businesses using Sql Standard are on dual socket machines.
        Like you said though I imagine most places won’t upgrade till they absolutely have to and unless the competition changes their pricing schemes in the meantime I’m guessing they’ll find it cheaper to just switch, yeah it’s a pain but for $20,000 per server it’s definitely worth it to a small businesses.

      • John says:

        In terms of processor licensing, while Oracle Standard Edition is licensed per socket, Oracle Enteprise Edition is licensed by number of cores * Core Factor (which is based on your platform). Oracle also offers per-user licensing for Enterprise Edition, while Microsoft unfortunately is phasing out that option with SQL Server 2012.

  10. Pingback: Tuesday Hardware Tidbits, Nov 15, 2011 | Glenn Berry's SQL Server Performance

  11. Aaron Kempf says:

    I think that your math is a little misleading
    the smart people use standard edition.. for about 1/10th that price!?!?!?!?!

  12. Glenn Berry says:

    If you are running a mission critical database server that has low RPO/RTO requirements, you pretty much need to be running SQL Server Enterprise Edition (to get things like online index operations, table partitioning, and data compression for example).

  13. Pingback: T-SQL-ohjelmointi » Blog Archive » SQL Server 2012 RC0 ja lisenssointi

  14. ian says:

    So we need Intel to create a new “CPU” that has 4 very fast cores, can talk to a LOTS of memory over lots of channels, and then uses all the spare space to make the CPU caches as large as can fit. Intel could change a lot for a CPU that is designed to save SQL licensing costs. (Would liquid nitrogen cooling be effect to save Sql Server licensing costs?)

    We then need network and IO cards that offload as much work as possible from the CPU, regardless of the fact they cost more than the number of cores they save.

    The application server then needs to be installed on a different box, connected over an expansive network, so that the cores it uses don’t need a SqlServer licence. (Consider moving work out from CLR procs as well to the application server)

    Likewise memcache etc need to be used to reduce the load on SqlServer even if it leads to more hardware being needed.

    I fail to understand way Microsoft wishes to give Intel all this money…

    • aaronls says:

      “We then need network and IO cards that offload as much work as possible from the CPU, regardless of the fact they cost more than the number of cores they save.”

      This is exactly why this licensing model is so bad. We will end up purchasing processors and other hardware that are not cost effetient, but we are willing to waste money in this way because of the licensing model.

  15. Pingback: Tuesday Hardware Tidbits, Nov 29, 2011 | Glenn Berry's SQL Server Performance

  16. Pingback: SQL Server 2012 ("Denali") Licensing | James Serra's Blog

  17. Brian says:

    Hi Glenn,
    Thanks for the informative post. I have an upgrade related question maybe you can help with. In a virtualised environment running SQL Server 2008 R2 EE with SA entitles me to run four SQL server guest VMs on one host, where all processors in the host are licensed. Using SQL Server 2012 EE with SA, the entitlement is to run an unlimited number of SQL VMs on the host in this scenario.
    My question then is, if I upgrade to 2012 under the 2008 R2 SA agreement, is the VM entitlement number for the host 4 (as per 2008 EE) or unlimited (as per 2012 EE)?
    Thanks
    Brian

  18. aaronls says:

    We actually recently upgraded our hardware with the hopes of using it for the next 5 years, and went with a couple 12 core AMD’s. This seemed like a smart move considering their previous licensing, and I was the one who recommended it. Now I feel terrible, as upgrading to 2012 might be too expensive. It would have been nice if they continued to offer the previous licensing model as well, and communicated to their customers that the VNext after 2012 will no longer support this model. This way we can plan our future hardware upgrades accordingly.

  19. aaronls says:

    I will add that the higher core count processors are generally better bang for your buck, but this new licensing model blows away the cost efficiency of higher core counts and consolidation.

    The industry was moving towards more consolidation of servers, and consolidating cores into less sockets. This was a more optimal and cost efficient setup where many smaller cores handle highly threaded workloads such as numerous small DB queries from a web server. We were on a road to more and more cores. Increasing core count was the main way that the processor manufacturers were finding room to increase the throughput of the processors, since scaling the processors throughput in other ways starting to become more and more challenging.

    Now the cost of the hardware is dwarfed by the licensing costs, such that it’s better to have fewer large cores. This is really terrible in my opinion.

    I would been in favor of having a large base cost for the server, which maybe covered the first 4 cores, and then a much smaller per core cost for each additional core. This way the licensing model’s incentives to consolidate are in alignment with the other incentives to consolidate. The cost per core should be small enough that it is not such a big factor that it greatly influences the choice of hardware, but still large enough to provide Microsoft with additional revenue from their larger customers.

  20. William Henzell says:

    Is there any news regarding a memory limit for 2012 Standard edition as yet?

    • Glenn Berry says:

      The memory limit for SQL Server 2012 Standard Edition is also 64GB, which I think is too low. One way around it with good hardware (with more than 128GB of RAM) would be to install more than one instance of SQL Server 2012.

      • Chris Miller says:

        I’m thinking, based on looking at the way things are worded, that the 64GB limit is *per server* exclusive of the number of instances. So while you could probably run 2 instances in 128GB, it would probably be a violation of the license. I’m not sure, the information out there is sketchy and confusing (which is how you can tell it’s genuinely from Microsoft Licensing).

  21. William says:

    Thanks Glenn and agreed. One of our core applications will be quick to support 2012 whereas the other will be much slower. Any recommendations on running an instance of 2008 R2 and an instance of 2012 on the same server with 128GB of memory with say 60GB dedicated to each SQL Server? We’re still on 2005 and are working out the best way forwards.

  22. Gur says:

    Hi Glenn,

    Thanks for information. I have a question, we have 24 cores in server and want to run SQL Server 2012 Enterprise on 16 Cores and use rest cores for some other application/ Processes other then SQL Server by Setting Affinity Mask. Is it possible to do it or would we encounter licensing issues.

    Thank you,

    Gur

  23. Joshua Perry says:

    You guys either don’t use Software Assurance, or you missed the part where you’re going to be “grandafthered” into as many core licenses as you have cores on your existing hardware running the previous version. So if you have a Dell R815 4 x 16, you four processor licenses will become 64 core licenses free of charge. If you have SA, this is an excellent time to maxmize your cores per socket. I think AMD is going to make a killing because of this new licensing.

    Moving to Core-based Licensing
     Customers with processor licenses under SA can upgrade to SQL Server 2012 at no additional cost. At the end of the SA term, processor licenses will be exchanged for core licenses and customers can renew their SA on core licenses.
     SQL Enterprise and Standard processor licenses under SA will be exchanged for a minimum of 4 core licenses per processor or for the actual number of cores in use. SQL Server Datacenter processor licenses will be exchanged for a minimum of 8 EE core licenses per processor or for the actual number of cores in use.
     At the end of the current agreement term, customers should do a self-inventory, documenting the number of cores in each processor in use with a SQL Server processor license covered with Software Assurance. This will enable customers to receive the appropriate number of core licenses based on SQL Server 2012 to continue their current deployments.
     Customers should do this self-inventory using the Microsoft Assessment and Planning (MAP) Toolkit or other inventory tools and processes to accurately archive a time/date stamped inventory of hardware tied to SQL Server installations.
     If customers do not perform the self-inventory, they will receive 4 core licenses for each Standard and Enterprise Edition processor and 8 EE core licenses per Datacenter Edition processor.

    • Adam says:

      I think you missed the note about the 20 core cap. When you switchover from processor to core they will only credit you up to 20 cores. so if you have a server with 4x 12core cpu’s which is 48 cores they will credit you 20 on the switchover and you’ll be paying to renew the other 28. I’m actually looking at virtualizing our entire sql environment just so as to not get screwed by this licensing change (I need lots of memory but not cpu power so i’m forced into 4 socket machines that will have at least 32 cores and likely 48) and by virtualizing I can restrict how many cpu’s my vm actually has to make the license cheaper while still giving it a ton of RAM).

      • Si says:

        Well, the 20 core cap only applies to old per Server / CAL licensing (see further up the thread).

        Also, I just saw a joint announcement from AMD / Microsoft via email (also due to be published on Web any day soon) where the AMD Interlagos 16-core chips will be treated as 8-cores for SQL licensing purposes (i.e. one Bulldozer “module” is regarded as one SQL Server “core”) as long as the server is running SQL on the bare metal. If you virtualise, then you pay per virtual core visible (i.e. 16 cores).

        Of course, as you say, if you do have extra CPU cores at migration time, that’s good from a license perspective, but you do of course need to bear in mind you will be paying Software Assurance on that many cores going forward!

  24. Pingback: Selecting a Processor for SQL Server 2012

Leave a comment