There have already been six Cumulative Updates (CU) for the Service Pack 1 branch of SQL Server 2012. There have been a fairly high number of hotfixes in every one of these early Cumulative Updates, as more people are using SQL Server 2012 over time. SQL Server 2012 SP1 has all of the fixes through SQL Server 2012 RTM CU2. Especially if you are getting ready to migrate to SQL Server 2012 from an earlier version, I think you should start out with the latest SQL Server 2012 Service Pack and Cumulative Update. Right now, that means Service Pack 1, CU6 (Build 11.0.3381).
This table shows the SP1 CU builds that have been released so far.
Build |
Description |
Release Date |
11.0.3000 |
SP1 RTM |
November 7, 2012 |
11.0.3321 |
SP1 CU1 |
November 20, 2012 |
11.0.3339 |
SP1 CU2 |
January 21, 2013 |
11.0 3349 |
SP1 CU3 |
March 18, 2013 |
11.0.3368 |
SP1 CU4 |
May 30, 2013 |
11.0.3373 |
SP1 CU5 |
July 15, 2013 |
11.0.3381 |
SP1 CU6 |
September 16, 2013 |
Table 1: SQL Server 2012 SP1 CU Builds
You can follow the KB article link below to see all of the CU builds for the SQL Server 2012 Service Pack 1 branch.
The SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1 was released
Like I did in my previous post, I decided to scan the hotfix list for all of the Cumulative Updates in the SP1 branch, looking for performance and general reliability-related fixes for the SQL Server Database Engine. I came up with the list below, but this is completely arbitrary on my part. You may come up with a completely different list, based on what SQL Server 2012 features you are using.
Here are the fixes in the RTM branch, before Service Pack 1 was released:
SQL Server 2012 RTM Cumulative Update 1 (Build 11.0.2316) , 65 total public hot fixes
FIX: Low CPU spikes at a set interval even without user activity in SQL Server 2008 R2 or in SQL Server 2012
FIX: Slow performance when an AFTER trigger runs on a partitioned table in SQL Server 2008 R2 or in SQL Server 2012
FIX: It takes a long time to restore a database in SQL Server 2008 R2 or in SQL Server 2008 or in SQL 2012
FIX: Poor performance when you run a query that contains correlated AND predicates in SQL Server 2008 or in SQL Server 2008 R2 or in SQL Server 2012
FIX: Slow performance occurs in SQL Server 2008 R2 or in SQL Server 2012 if high CPU usage is observed with contention over the QUERY_EXEC_STATS spinlock
FIX: Out-of-memory error when you run SQL Server 2012 on a computer that uses NUMA
SQL Server 2012 RTM Cumulative Update 2 (Build 11.0.2325) , 37 total public hot fixes
FIX: An access violation occurs intermittently when you run a query against a table that has a columnstore index in SQL Server 2012
SQL Server 2012 RTM Cumulative Update 3 (Build 11.0.2332) , 35 total public hotfixes
FIX: Incorrect results when you run a parallel query that uses a columnstore index in SQL Server 2012
Here are the fixes in the Service Pack 1 branch:
SQL Server 2012 SP1 Cumulative Update 1 (Build 11.0.3321), 44 total public hot fixes
FIX: “out of memory” error when you use ODBC with SQL Server 2012, SQL Server 2008 R2 or SQL Server 2008
FIX: Performance of a SELECT statement that contains a LIKE operator and an ESCAPE clause is low in SQL Server 2008 R2 or in SQL Server 2012
FIX: SQL Server 2012, SQL Server 2008 R2 or SQL Server 2008 stops responding and a “Non-yielding Scheduler” error is logged
FIX: Slow performance or deadlock when you restore a database and execute statements at the same time in SQL Server 2012
FIX: Worker threads do not wake up immediately when multiple I/O-intensive tasks are running at the same in SQL Server 2012
FIX: “Process appears to be non-yielding on Scheduler ” error message when you run a query in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 2 (Build 11.0.3339), 50 total public hot fixes
A database transaction log continues to grow after you upgrade to SQL Server 2012, SQL Server 2008 R2 SP1, SQL Server 2008 SP2 or SQL Server 2008 SP3
FIX: The size of a database file is not reduced when you use the DBCC SHRINKFILE command in SQL Server 2008 R2 or in SQL Server 2012
FIX: High CPU usage when you query a binary large object column by using the NOLOCK hint in SQL Server 2008 R2 or in SQL Server 2012
FIX: Large queries that modify data run slower than expected when many locks accumulate in a SQL Server 2008 R2 or in SQL Server 2012
FIX: A transaction log restore operation takes longer than expected and a 3402 error occurs if a database file is removed in SQL Server 2008 R2 or in SQL Server 2012
SQL Server 2012 experiences out-of-memory errors
FIX: Deadlocks occur when you execute a stored procedure to alter a temporary table if lock partitioning is enabled in SQL Server 2008 R2 or in SQL Server 2012
FIX: Memory leak if you enable the AUTO_UPDATE_STATISTICS_ASYNC statistics option in SQL Server 2008, in SQL Server 2012 or in SQL Server 2008 R2
FIX: A “non-yielding” error occurs on a server for Service Broker Message Forwarding in SQL Server 2008 R2 or in SQL Server 2012
FIX: Error 17883 when you run a query on a server that has many CPUs and a large amount of memory in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 3 (Build 11.0.3349), 38 total public hot fixes
FIX: Access violation when you run a query that contains many constant values in an IN clause in SQL Server 2008 or in SQL Server 2012
FIX: Memory leak when you run queries against a temporary table in a nested stored procedure in SQL Server 2012
FIX: Poor performance in SQL Server 2012 when you run a SQL Server trace
FIX: You experience poor performance when you run a query against an RCSI-enabled table in SQL Server 2012
FIX: CPU spike when there is no load on a server after you install SQL Server 2012 on the server
SQL Server 2012 experiences performance issues in NUMA environments
SQL Server 2012 SP1 Cumulative Update 4 (Build 11.0.3368), 38 total public hot fixes
FIX: Out-of-memory errors related to a memory clerk in SQL Server 2012
FIX: Out of memory error when you build a columnstore index on partitioned tables in SQL Server 2012
Update that improves the Service Broker when you send messages to remote servers in SQL Server 2012 is available
An update is available for SQL Server 2012 Memory Management
FIX: “Non-yielding Scheduler” error occurs when you insert a row in SQL Server 2012
FIX: You may experience performance issues in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 5 (Build 11.0.3373), 27 total public hot fixes
FIX: Poor performance when you run a query that uses the LIKE operator in the WHERE clause in SQL Server 2008 R2
FIX: Non-yielding scheduler error when you run a stored procedure that uses a TVP in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 6 (Build 11.0.3381), 24 total public hot fixes
FIX: Slow performance on SQL Server 2012 linked server when you update the data together with different collation on the remote server
FIX: A memory leak occurs when you enable AlwaysOn Availability Groups or SQL Server failover cluster in Microsoft SQL Server 2012
Again, the idea here is to give you some concrete reasons to want to stay current with the latest SQL Server 2012 SP and CU, by pointing out some of the more valuable fixes in each CU in the Service Pack 1 branch.
2 thoughts on “Performance Related Fixes in Post-SQL Server 2012 SP1 Builds”
Hi,
Good list, though one KB seems to be missing which is quite brutal (fixed in SP1 + CU4):
http://support.microsoft.com/kb/2845380
Have seen it in Production kicking in, wondered where those contradictory numbers are coming from:)
So, once you are at SP1, upgrade to the latest CU immediately, due to the registry bloat problem in SP1 and this one among others.
Thanks, Viktor. I don’t know how I missed that one, but I have added it to the post.