Updated to include SP1 CU16: There have already been sixteen Cumulative Updates (CU) for the Service Pack 1 branch of SQL Server 2012. There have been a fairly high number of hotfixes in nearly every one of these Cumulative Updates, as more people are using SQL Server 2012 over the past two years. SQL Server 2012 SP1 has all of the fixes through SQL Server 2012 RTM CU2. If you are running SQL Server 2012, I really think you should be running the latest SQL Server 2012 Service Pack and Cumulative Update. Right now, that means Service Pack 2, CU6 (Build 11.0.5592), which was released on May 18, 2015.
If you are still on the SQL Server 2012 SP1 branch, then you want to be on SP1 CU16.
Table 1 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 |
11.0.3393 |
SP1 CU7 |
November 18, 2013 |
11.0.3401 |
SP1 CU8 |
January 20, 2014 |
11.0.3412 |
SP1 CU9 |
March 17, 2014 |
11.0.3431 |
SP1 CU10 |
May 19, 2014 |
11.0.3449 |
SP1 CU11 |
July 21, 2014 |
11.0.3470 |
SP1 CU12 |
September 15, 2014 |
11.0.3482 |
SP1 CU13 |
November 17, 2014 |
11.0.3486 |
SP1 CU14 |
January 19, 2015 |
11.0.3487 |
SP1 CU15 |
March 16, 2015 |
11.0.3492 |
SP1 CU16 |
May 18, 2015 |
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 listing 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 (you will get these when you install SP1):
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
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
SQL Server 2012 SP1 Cumulative Update 7 (Build 11.0.3393), 47 total public hotfixes
FIX: Access violation when you trace an RPC event class by using SQL profiler or XEvents in SQL Server 2012
FIX: Nonclustered index corruption may occur when you run a complex UPDATE statement together with a NOLOCK hint against a table in SQL Server 2008, SQL Server 2008 R2 or SQL Server 2012
FIX: The threads are not scheduled evenly in SQL Server 2012 Standard Edition
A memory leak occurs when a SQL Server Native Client OLE DB provider application calls the Prepare method in SQL Server 2012
FIX: “Non-yielding Resource Monitor” when you run a workload that executes concurrent queries in SQL Server 2012
FIX: Function sys.fn_hadr_backup_is_preferred_replica costs almost all the CPU usage in Log Shipping in SQL Server 2012
FIX: Slow performance in SQL Server when you build an index on a spatial data type of a large table in a SQL Server 2012 instance
FIX: Slow performance in SQL Server 2012 when you build an index on a spatial data type of a large table
An access violation occurs when “sys.dm_db_index_physical_stats” is used in an IF EXISTS statement in an SQL query in SQL Server 2012
FIX: Suboptimal execution plan is generated when you run a query in SQL Server 2012
Slow SQL Server performance and a memory leak occurs after you apply Cumulative Update 3 for SQL Server 2012 Service Pack 1
FIX: Slow performance in SQL Server 2012 when you build an index on a spatial data type of a large table
Slow performance or error messages are logged when you have a transactional replication publisher server in SQL Server 2012
FIX: Insufficient system memory error occurs when you try to create an index in a char, varchar, or nvarchar type column in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 8 (Build 11.0.3401), 32 total public hotfixes
FIX: Data purity corruption in sys.sysbinobjs table in master database when you log on to SQL Server 2008 R2 or SQL Server 2012 by using the SA account and then run DBCC CHECKDB
FIX: Interrupted distributed query may return partial result set without any error in SQL Server 2008 R2 or in SQL Server 2012
FIX: Replication Log Reader Agent fails when you enable CDC and transactional replication for some columns in SQL Server 2008 R2 or SQL Server 2012
FIX: Query that you run against a partitioned table returns incorrect results in SQL Server 2008, SQL Server 2008 R2 or SQL Server 2012
FIX: A small number of rows are sampled in SQL Server 2008 R2 or in SQL Server 2012 when table statistics are updated automatically or together with specified sampling rate
FIX: Access violation may occur when you query sys.dm_server_memory_dumps in SQL Server 2008 R2 or SQL Server 2012
FIX: Replication Queue Reader Agent crashes when you run transactional replication in SQL Server 2008 R2 or SQL Server 2012
FIX: Validation of service accounts takes a long time when you set up SQL Server 2012
FIX: The system function sys.fn_hadr_backup_is_preferred_replica does not work correctly after you have CU7 for SQL Server 2012 SP1 installed
FIX: The query deadlocks when the ALLOW_SNAPSHOT_ISOLATION and READ_COMMITTED_SNAPSHOT are enabled in SQL Server 2012
FIX: The clustered index table may take longer than you expect to be rebuilt when you use the ALTER INDEX REBUILD statement in SQL Server 2008 or SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 9 (Build 11.0.3412), 30 total public hotfixes
FIX: Access violation in SQL Server internal deadlock monitor when you run multiple applications together with Multiple Active Result Sets enabled in SQL Server 2008 R2 or in SQL Server 2012
FIX: Access violation in replication Distribution Agent in SQL Server 2008 R2 or SQL Server 2012 Transactional Replication
FIX: Poor performance when many table-valued parameters are used in SQL Server 2008 R2 or SQL Server 2012
FIX: Merge Agent fails or you experience non-convergence when you use a custom stored procedure conflict resolver in SQL Server 2008 or SQL Server 2008 R2 or SQL Server 2012
FIX: Performance problems occur when database lock activity increases in SQL Server 2012
FIX: Performance problems occur in NUMA environments during foreign page processing in SQL Server 2012
FIX: Operating system version information that is returned from SQL Server 2008 or SQL Server 2008 R2 or SQL Server 2012 is incorrect in Windows 8.1
FIX: Performance decreases after an ALTER INDEX…ONLINE operation is aborted in SQL Server 2012
FIX: Access violation may occur when trigger query joins large dataset in deleted/inserted table and runs in parallel in SQL server 2012
FIX: Database shows “recovery pending” state when you use TDE with EKM provider in SQL Server 2012
FIX: Incorrect usage of built-in FORMAT function brings down SQL Server 2012 Instance
FIX: SQL Server 2012 instance shuts down when you join database as secondary replica during AlwaysOn Availability Groups configuration
FIX: Merge agent fails when you apply snapshot in SQL Server 2012 instance if cross database dependencies are present
FIX: Distribution Agent skips applying sp_MSins_, sp_MSupd_, sp_MSdel_ stored procedures on a Subscriber that is initialized with Backup in SQL Server 2012
FIX: Access violation occurs when you update a table that has an XML calculated column in SQL Server 2012
FIX: SQL Server takes long time to open the databases after the recovery phase when the number of databases or database files or both is large in SQL Server 2012
FIX: Message is not removed from transmission queue even though the ACK is received successfully in an AlwaysOn availability group in SQL Server 2012
FIX: Non-yielding scheduler tries to close the listener for availability group in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 10 (Build 11.0.3431), 36 total public hotfixes
FIX: Intense query compilation workload does not scale with growing number of cores on NUMA hardware and results in CPU saturation in SQL Server 2012
FIX: Assertion failure when you execute a query specifying TOP N and ORDER BY in SQL Server 2008 R2 or SQL Server 2012
FIX: Access violation occurs when you run CHECKTABLE or CHECKDB against a table that has persisted computed columns in SQL Server 2008 R2 or SQL Server 2012
FIX: Incorrect results when you run queries that contain UNION operator by using parallel query plan in SQL Server 2012
FIX: An access violation occurs when you execute update query on a table that has a DML trigger in SQL Server 2008 R2 or SQL Server 2012
FIX: Access violation when the start offset is larger than the string length in function Substring in SQL Server 2012
FIX: Poor cardinality estimation when the ascending key column is branded as stationary in SQL Server 2012
FIX: Poor performance on I/O when you execute select into temporary table operation in SQL Server 2012
FIX: Parallel deadlock or self-deadlock occurs when you run a query that results in parallelism in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 11 (Build 11.0.3449), 32 total public hotfixes
FIX: “Cannot insert duplicate key” error occurs in Spool operation when you update a table in SQL Server 2012
FIX: Incorrect result when you execute a query that uses WITH RECOMPILE option in SQL Server 2012
FIX: Memory leak occurs when you start and stop an XEvent session repeatedly in SQL Server 2012
FIX: Cannot reclaim unused space by using shrink operation in the table that contains a LOB column in SQL Server
FIX: Fatal exception when you run a query that contains CLR functions against an indexed view in SQL Server 2012
FIX: Undetected deadlock occurs when you use a sequence object in SQL Server 2012
FIX: Data corruption occurs in clustered index when you run online index rebuild in SQL Server 2012 or SQL Server 2014
FIX: The database sticks in role configuration phase when you perform a manual failover of a mirrored database
FIX: Error when you execute a Transact-SQL query that contains a long case statement in SQL Server 2012
FIX: Error when you insert a record into a FileTable or FILESTREAM in SQL Server 2012
FIX: Log Reader Agent crashes during initialization when you use transactional replication in SQL Server 2012
FIX: Poor performance when you create spatial index on Point data in SQL Server 2012
FIX: Log Reader Agent fails when you upgrade from SQL Server 2008 to SQL Server 2012
FIX: A severe error occurs when you run a query that uses a hash join parallel execution plan in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 12 (Build 11.0.3470), 14 total public hotfixes
FIX: Error 7105 when you execute UPDATE on sparse column set while ONLINE INDEX REBUILD is running on the same table in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 13 (Build 11.0.3482), 10 total public hotfixes
FIX: High CPU consumption when you use spatial data type and associated methods in SQL Server 2012
FIX: SQL Server is in script upgrade mode for a long time after you apply a SQL Server hotfix or security update
SQL Server 2012 SP1 Cumulative Update 14 (Build 11.0.3486), 8 total public hotfixes
FIX: SOS_CACHESTORE spinlock contention on system table rowset cache causes high CPU usage in SQL Server 2012
FIX: SOS_CACHESTORE spinlock contention on ad hoc SQL Server plan cache causes high CPU usage in SQL Server 2012
SQL Server 2012 SP1 Cumulative Update 15 (Build 11.0.3487), 1 total public hotfix
The one hotfix in this CU is not particularly interesting, unless you are using Master Data Services (MDS)
SQL Server 2012 SP1 Cumulative Update 16 (Build 11.0.3492), 4 total public hotfixes
FIX: Corruption occurs on the page of secondary replica when you change the secondary replica to unreadable
FIX: Error 33415 occurs when you restart the SQL Server service or alter database in SQL Server 2012
Once again, the idea here is to give you a lot of 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. If my opinion does not sway everyone, this relatively new Microsoft KB article might be more convincing:
Recommended updates and configuration options for SQL Server 2012 and SQL Server 2014 used with high-performance workloads
Happily, Microsoft has been updating this KB article with new information, so you might want to read it again.
3 thoughts on “Performance and Stability Related Fixes in Post-SQL Server 2012 SP1 Builds”
SQL 2012 SP2 CU1 has been released: Cumulative Update 1 for SQL Server 2012 SP2
Glenn,
SP2 has been out for quite a few months now. Are you going to do the same for SP2?
Thanks
Chris