Clarification of Microsoft’s SQL Server 2012 Servicing and Support Policy

I recently recently got some very helpful clarification from a friend at Microsoft about Microsoft’s plans for how they will be servicing SQL Server 2012 over the rest of 2013, and how these plans will work with their mainstream support policy. I don’t think this is any great change, but it is a welcome explanation of their servicing and support policy.

As you may know, I have previously talked about how the Cumulative Updates (CU) for the Release to Manufacturing (RTM) and the Service Pack 1 (SP1) branches of SQL Server 2012 are “out of synch”, with the latest release for the RTM branch happening about one month sooner than the roughly equivalent CU for the SP1 branch. You can see this by looking at Table 1 and comparing the release dates for the recent CUs for both branches.

RTM Branch Builds SP1 Branch Builds
Build Description Release Date Build Description Release Date
11.0.2300 Original RTM
11.0.2316 RTM CU1 4/12/2012
11.0.2325 RTM CU2 6/18/2012 11.0.3000 SP1 RTM 11/7/2012
11.0.2332 RTM CU3 8/31/2012
11.0.2383 RTM CU4 10/15/2012 11.0.3321 SP1 CU1 11/20/2012
11.0.2395 RTM CU5 12/17/2012 11.0.3329 SP1 CU2 1/21/2013
11.0.2401 RTM CU6 2/18/2013 11.0.3349 SP1 CU3 3/18/2013

Table 1: SQL Server 2012 Cumulative Updates

According to my source, Microsoft “will stop doing CUs for SQL 2012 RTM in line with the policy of 12 months + SQL 2012 SP1 release (Nov 2012). It is a rough date so the last RTM CU is likely in October sometime.”  That means that the last SQL Server 2012 RTM CU will probably be CU10, released around October 21, 2013. SQL Server 2012 Service Pack 2 is likely to be released in the October/November 2013 timeframe (my guess). The Microsoft lifecycle policy for SQL Server 2012 shows that mainstream support for SQL Server 2012 RTM will end on January 14, 2014.

This means that if you are still on the RTM branch (perhaps because the latest hotfixes are showing up one month earlier than in the SP1 branch) when SP2 is released, you will still be supported until January 14, 2014. These latest fixes from the RTM branch are also supposed to show up in a supported branch (SP1 or SP2) by January 14, 2014. This clarification alleviates my concern that someone might be in a non-supported configuration for a period of time until the SP1 and SP2 branches reached relative parity with the RTM branch.

These two Microsoft KB articles are useful references that you might want to bookmark, since they list and link each CU (and they are updated as new CUs are released).

The SQL Server 2012 builds that were released after SQL Server 2012 was released

The SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1 was released

You might want to read Making the Case for Regular SQL Server Servicing to understand why I think it is a good idea to keep your SQL Server instances properly maintained.

What is the Difference Between Physical Sockets, Physical Cores, and Logical Cores?

I witnessed an interesting conversation on Twitter today where someone was talking about how he uses the terms sockets and cores interchangeably, since everyone else does, or words to that effect. This made me think that there may still be some confusion about how these terms are used and what they mean in relation to SQL Server 2012 hardware selection and SQL Server 2012 licensing considerations.

The hierarchy works like this:

Physical socket on a motherboard where a physical processor fits (used for licensing before SQL Server 2012)

Physical core within a physical processor (multi-core, used for licensing with SQL Server 2012 Enterprise Edition)

Logical core within a physical core (hyper-threading)

Back in the prehistoric days of processor technology (around 2001) all Intel and AMD processors had only one core. If you wanted multiple threads of execution, you needed additional physical processors, since one socket = one physical processor = one physical core. Back then, the primary way to increase single-threaded performance was to increase the clock speed of the processor. Both Intel and AMD started running into problems with heat dissipation and power consumption as clock speeds approached 4.0GHz (on air cooling).

In 2002, Intel introduced the first processor with hyper-threading. Hyper-threading creates two “logical processors” within each physical processor core of an actual physical processor, that are visible to the operating system. Depending on the application, hyper-threading can improve total CPU capacity by anywhere from 5-30%. The initial implementation of hyper-threading on the Pentium 4 Netburst architecture did not work as well on many server workloads (such as SQL Server), so the standard advice back then was to disable hyper-threading on database servers. The 2nd generation hyper-threading in the Intel Nehalem, Westmere, and Sandy Bridge processors works much better for SQL Server OLTP workloads, so I always leave it enabled by default.

In 2005, AMD introduced their first dual-core processor, the Athlon 64 X2. This processor had two discrete physical cores, which provided better multi-threaded performance than hyper-threading. A single, dual-core processor would have two processor cores visible to Windows. It is important to remember that Windows Server 2008 R2 Task Manager (and some SQL Server DMVs) cannot easily tell the difference between hyper-threaded logical processors and true dual-core or multi-core processors.

In late 2006, Intel introduced the first Core2 Quad, which was a processor with four physical cores (but no hyper-threading). One of these processors would have four cores visible to Windows. Since then, both AMD and Intel have been rapidly increasing the physical core counts of their processors. AMD has the Opteron 63xx processor family which has 16 physical cores in a single physical processor. Intel has the Xeon E7 Family “Westmere-EX”, which has up to ten physical cores, plus 2nd generation hyper-threading, which means that you have a total of 20 logical cores visible to Windows and SQL Server for each physical processor.

Before SQL Server 2012, SQL Server licensing was only concerned with physical processor sockets, not physical cores, or logical cores. Knowing this, you wanted to always buy processors with as many cores as possible in order to maximize your overall processor performance per processor license. You should also be aware that SQL Server 2008 is limited to 64 logical processors. In order to use more than 64 logical processors, you must be running SQL Server 2008 R2 on top of Windows Server 2008 R2, which will raise your limit to 256 logical processors.

SQL Server 2008 R2 Enterprise Edition also had a license limit of eight physical processors (which would let you go up to 160 logical processors with eight Intel Westmere-EX processors). If you need more than eight physical processors, you needed to run SQL Server 2008 R2 Data Center Edition. Microsoft got rid of the Data Center Edition SKU for SQL Server 2012.

With SQL Server 2012, Microsoft completely changed their licensing model compared to previous releases. With SQL Server 2012 Enterprise Edition, in a non-virtualized environment, you must use core-based licensing, which is based on physical cores (not logical cores). Each processor socket must have at least four processor core licenses (even if there are actually only one or two physical cores). This means you need to be much more thoughtful about which exact processor model you select for your database server. Having lots of physical cores can add up to a very large amount of money for your SQL Server 2012 Enterprise Edition license costs. If you are running SQL Server 2012 Enterprise Edition on top of Windows Server 2012 Standard Edition, you can now have up to 640 logical cores, along with 4TB of RAM in your system.

This new licensing system really penalizes AMD processors, which can have up to 16 physical cores in each processor, but unfortunately, have pretty mediocre single-threaded performance. To try and level the playing field a little bit, Microsoft released something called the SQL Server Core Factor Table, which gives a 25% discount for most modern AMD processors that have six or more physical cores. Even with this discount, it is far more expensive to buy your SQL Server 2012 core licenses for an AMD system compared to an equivalent Intel system.

Remember that the sys.dm_os_sys_info DMV cannot tell the difference between physical and logical cores. Running the query below will tell you how many logical cores are visible and how many physical CPUs you have.

   1: -- Hardware information from SQL Server 2012

   2: -- (Cannot distinguish between HT and multi-core)

   3: SELECT cpu_count AS [Logical CPU Count], hyperthread_ratio AS [Hyperthread Ratio],

   4: cpu_count/hyperthread_ratio AS [Physical CPU Count],

   5: physical_memory_kb/1024 AS [Physical Memory (MB)], committed_target_kb/1024 AS [Committed Target Memory (MB)],

   6: max_workers_count AS [Max Workers Count], affinity_type_desc AS [Affinity Type],

   7: sqlserver_start_time AS [SQL Server Start Time], virtual_machine_type_desc AS [Virtual Machine Type]

   8: FROM sys.dm_os_sys_info WITH (NOLOCK) OPTION (RECOMPILE);

   9:

  10: -- Gives you some good basic hardware information about your database server

Microsoft DreamSpark Program

Back in 2008, Microsoft rolled out the DreamSpark program as a means to get Microsoft software design and development tools in the hands of students at no charge. It was initially only for university or college students, but it has been expanded to also cover high school students. Basically, this means that any high school, college student, or faculty member (in most major countries) can download copies of many Microsoft operating systems, servers, and development tools for free.  If you fall into one of those categories, it is pretty easy to get signed up and verified into the program, so you can get your hands on the software for free.

Some of the most valuable software-related items are Visual Studio 2012 Professional, Windows Server 2012 Standard, and SQL Server 2012 Developer Edition. You can also get a free 90-day subscription to Pluralsight On-Demand, and a number of free eBooks from Microsoft Press.

The Microsoft DreamSpark site has more details about the program.