Warning: Constant WP_TEMP_DIR already defined in /var/www/html/blogs/glenn/wp-config.php on line 94

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/feed-rss2.php on line 8
Cumulative Updates Archives - Glenn Berry https://www.sqlskills.com/blogs/glenn/tag/sql-server-cumulative-updates/ Semi-random musings about SQL Server performance Sat, 11 Jan 2020 20:51:51 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 Performance and Stability Related Fixes in Post-SQL Server 2016 SP2 Builds https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2016-sp2-builds/ https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2016-sp2-builds/#comments Tue, 19 Jun 2018 20:55:26 +0000 http://3.209.169.194/blogs/glenn/?p=1381 As of December 9, 2019, there have been eleven Cumulative Updates (CU) for the Service Pack 2 branch of SQL Server 2016. There have been a large number of hotfixes in each of these cumulative updates. If you are running on the SQL Server 2016 SP2 branch (which you should be by now), I really […]

The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP2 Builds appeared first on Glenn Berry.

]]>
As of December 9, 2019, there have been eleven Cumulative Updates (CU) for the Service Pack 2 branch of SQL Server 2016. There have been a large number of hotfixes in each of these cumulative updates. If you are running on the SQL Server 2016 SP2 branch (which you should be by now), I really think you should be running the latest SQL Server 2016 SP2 Cumulative Update.

Table 1 shows the SQL Server 2016 SP2 CU builds that have been released so far:

Build Description Release Date
13.0.5149 SP2 CU1 May 30, 2018
13.0.5153 SP2 CU2 July 16, 2018
13.0.5216 SP2 CU3 September 20, 2018
13.0.5233 SP2 CU4 November 13, 2018
13.0.5264 SP2 CU5 January 23, 2019
13.0.5292 SP2 CU6 March 19, 2019
13.0.5337 SP2 CU7 May 22, 2019
13.0.5426 SP2 CU8 July 31, 2019
13.0.5492 SP2 CU10 October 8, 2019
13.0.5598 SP2 CU11 December 9, 2019
     

Table 1: SQL Server 2016 SP2 CU Builds

You can follow the KB article link below to see all of the CU builds for the SQL Server 2016 RTM, SQL Server 2016 SP1 and SQL Server 2016 SP2 branches.

SQL Server 2016 Build Versions

Like I have done for other versions and branches of SQL Server, I decided to scan the hotfix list for all of the Cumulative Updates in the SP2 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 specific SQL Server 2016 features you are using.

Here are the fixes in the SP2 branch:

SQL Server 2016 SP2 Cumulative Update 1 (Build 13.0.5149), 29 total public hot fixes

Performance issues occur in the form of PAGELATCH_EX and PAGELATCH_SH waits in TempDB when you use SQL Server 2016

FIX: Error 9002 when there is no sufficient disk space for critical log growth in SQL Server 2014, 2016, and 2017

FIX: “Cannot use SAVE TRANSACTION within a distributed transaction” error when you execute a stored procedure in SQL Server

PFS page round robin algorithm improvement in SQL Server 2016

FIX: A memory assertion failure occurs and the server is unable to make any new connections in SQL Server

FIX: One worker thread seems to hang after another worker thread is aborted when you run a parallel query in SQL Server

FIX: TDE enabled database backup with compression causes database corruption in SQL Server 2016

FIX: Restore of a TDE compressed backup is unsuccessful when using the VDI client

FIX: Performance is slow for an Always On AG when you process a read query in SQL Server

FIX: Floating point overflow error occurs when you execute a nested natively compiled module that uses EXP functions in SQL Server

FIX: Database cannot be dropped after its storage is disconnected and reconnected in SQL Server

FIX: TDE database goes offline during log flush operations when connectivity issues cause the EKM provider to become inaccessible in SQL Server

FIX: TDE-enabled backup and restore operations are slow if the encryption key is stored in an EKM provider in SQL Server

FIX: Access violation occurs when you query a table with an integer column in SQL Server 2017 and SQL Server 2016

FIX: Parallel redo in a secondary replica of an availability group that contains heap tables generates a runtime assert dump or the SQL Server crashes with an access violation error

FIX: An assertion failure occurs when you execute a nested select query against a columnstore index in SQL Server

FIX: RESTORE HEADERONLY statement for a TDE compressed backup takes a long time to complete in SQL Server

FIX: An access violation occurs when incremental statistics are automatically updated on a table in SQL Server

 

SQL Server 2016 SP2 Cumulative Update 2 (Build 13.0.5153), 21 total public hot fixes

FIX: Many xml_deadlock_report events are reported for one single intra-query deadlock occurrence in SQL Server 2016

FIX: An instance of SQL Server may appear unresponsive then a “Non-yielding Scheduler” error may occur in SQL Server 2016

FIX: Parallel redo does not work after you disable Trace Flag 3459 in an instance of SQL Server

Improvement: Configure SESSION_TIMEOUT value for a Distributed Availability Group replica in SQL Server 2016 and 2017

FIX: Slow performance of SQL Server 2016 when Query Store is enabled

FIX: “PAGE_FAULT_IN_NONPAGED_AREA” Stop error when enumerating contents in a SQL Server FileTable directory

Transparent Data Encryption added for Log Shipping in SQL Server

FIX: Query on a secondary replica takes two times as long to run as on a primary replica in SQL Server

FIX: “Corrupted index” message and server disconnection when an update statistics query uses hash aggregate on SQL Server

FIX: DMVs sys.dm_db_log_stats and sys.dm_db_log_info may return incorrect values for the last database of the SQL Server 2016 instance

FIX: VSS backup fails in secondary replica of Basic Availability Groups in SQL Server 2016

FIX: TDE enabled database backup with compression causes database corruption in SQL Server

FIX: Error 19432 when you use Always On Availability Groups in SQL Server

FIX: Event notifications for AUDIT_LOGIN and AUDIT_LOGIN_FAILED events will cause an unusual growth of TempDB in SQL Server 2016

 

 SQL Server 2016 SP2 Cumulative Update 3 (Build 13.0.5216), 28 total public hot fixes

FIX: Leakage of sensitive data occurs when you enable DDM function in SQL Server 2016 and 2017

FIX: Out of memory error occurs even when there are many free pages in SQL Server

Improvement: Update to add spill information of batch-mode operators to “Warnings” section of Showplan XML in SQL Server 2016

FIX: A memory leak occurs in sqlwepxxx.dll causes the WmiPrvSe.exe process to crash

FIX: Assertion error occurs when you use sys.dm_exec_query_statistics_xml in SQL Server 2016

FIX: The SQL Service shuts down after SP2 is installed on SQL Server 2016 with c2 audit mode enabled

FIX: Transaction delays on the primary replica if database synchronization is reported incorrectly on a secondary replica in SQL Server

Update adds lightweight query profiling hint in SQL Server 2016

FIX: Error 41317 when you enable server audit and you use in-memory transactions in SQL Server

FIX: Access violation in cross data center failover if you use Always On Availability Groups in SQL Server

FIX: Slow query performance occurs when you use NULL filters on Partition Key with default CE in SQL Server 2016

FIX: Upgrading SP1 instance fails when you use SxS instances of SQL Server 2016 SP1 and SP2

FIX: Poor performance occurs when you run a query against columnstore in an RCSI-enabled database in SQL Server 2016

FIX: Workloads that utilize many frequent, short transactions in SQL Server 2016 and 2017 may consume more CPU than in SQL Server 2014

 

 SQL Server 2016 SP2 Cumulative Update 4 (Build 13.0.5233), 36 total public hot fixes

FIX: Access violation occurs when SQL Server 2016 tries to start Query Store Manager during startup

FIX: Access violation when you try to access a table when page compression is enabled on the table in SQL Server

FIX: SQL Server may generate EXCEPTION_ACCESS_VIOLATION dump file when you merge two partitions of system-versioned temporal tables in SQL Server 2016

FIX: “9003 error, sev 20, state 1” error when a backup operation fails on a secondary replica that is running under asynchronous-commit mode

FIX: Overestimations when using default Cardinality Estimator to query table with many null values

FIX: Query operation freezes when you insert data into a clustered columnstore index in parallel in SQL Server data warehousing

FIX: Access violation occurs in compile code when you parse the forced plan in SQL Server 2017

FIX: The “modification_counter” in DMV sys.dm_db_stats_properties shows incorrect value when partitions are merged through ALTER PARTITION in SQL Server 2016

FIX: Assertion error occurs when you run a MERGE statement with an OUTPUT clause in SQL Server 2017

FIX: “ran out of memory” error when executing a query on a table that has a large full-text index in SQL Server 2014

FIX: Backing up a SQL Server 2008 database by using a VSS backup application may fail after installing CU10 for SQL Server 2017

FIX: Assertion error occurs when you restart the SQL Server 2016 database

FIX: Query plans are different on clone database created by DBCC CLONEDATABASE and its original database in SQL Server 2016

FIX: Access violation occurs when you query data from a view created on a table with columnstore index in SQL Server 2016

FIX: Excessive memory usage when you trace RPC events that involve Table-Valued Parameters in SQL Server 2017

FIX: Access violation occurs in Distribution Agent in SQL Server 2017

FIX: Assertion occurs when you use parallel redo in a secondary replica of SQL Server 2016 AG

FIX: DefaultLanguage.LCID property changes for partially contained In-Memory OLTP database

FIX: Assertion error occurs during restoration of TDE compressed backups in SQL Server 2016

FIX: Error 3961 occurs when you use Application roles for the second time in read-only secondary replicas in SQL Server 2016 AG

FIX: Access violation when you run a granular audit policy for DML in SQL Server

 

 SQL Server 2016 SP2 Cumulative Update 5 (Build 13.0.5264), 43 total public hot fixes

FIX: Access violation when you compile a query and histogram amendment is enabled with default Cardinality Estimation in SQL Server 2016 and 2017

FIX: Access violations and unhandled exceptions when you set automatic seeding for secondary replica or Distributed Availability Group replica in SQL Server

FIX: Masked data is exposed when a query that uses sp_cursorfetch is run in SQL Server if Dynamic Data Masking is enabled

FIX: Access violation when you run a query that uses the XML data type in SQL Server 2014, 2016 and 2017

FIX: Transactions and log truncation may be blocked when you use Query Store in SQL Server 2016 and 2017

FIX: Error occurs when the Database Encryption Key is longer than 3,456 bits in SQL Server 2016 and 2017

FIX: I/O error on a BPE file causes buffer time-out in SQL Server

FIX: Out of memory error occurs when Database Node Memory (KB) drops below 2 percent in SQL Server 2014 and 2016

FIX: “Non-yielding” error occurs when there is a heavy use of prepared statements in SQL Server 2014 and 2016

FIX: Restore of TDE-compressed backup is unsuccessful when backing up database to a 512-byte Emulation disk in SQL Server

FIX: SQL Server installation fails if one of the remote nodes is unreachable in a cluster

FIX: High CPU usage when there are many batch requests in SQL Server 2016

FIX: SQL Server service crashes when DBCC CHECKDB runs against a database that has a corrupted partition

FIX: Server crashes when you cancel DBCC CHECKDB against a large database in SQL Server 2016

FIX: Columnstore Index build request may time out after 25 seconds though the memory grant time-out is configured in SQL Server 2016

FIX: ObjectPropertyEx returns incorrect row count when there are partitions in a database object

FIX: sys.fn_hadr_backup_is_preferred_replica returns TRUE for more than one secondary replica even if the priority values are identical in SQL Server 2016

FIX: Restore or Restore Verifyonly of a TDE-compressed backup fails with error 33111 and 3013 in SQL Server 2016 and 2017

FIX: Access violation occurs and server stops unexpectedly when you use XEvent session with sqlos.wait_info event in SQL Server 2016

FIX: Possible assertion failure when a cross-database transaction involving an Availability Group database is committed from a SQL Server trigger

Snapshot Isolation and Savepoint support added for Availability Group databases on the same instance with DTC enabled in SQL Server

FIX: Access violation when you run a query that contains a batch-mode hash join on Clustered Columnstore Index table in SQL Server 2016

FIX: Upgrade to SQL Server 2016 SP2 CU3 or CU4 fails with an error when sysadmin account “sa” is renamed in SQL Server 2016

FIX: Access violation occurs when SQL is trying to promote a transaction to DTC while collecting QDS statistics

FIX: Assertion failure occurs when you try to back up database in limited disk space in SQL Server 2016

FIX: Query Store enabled database takes long time on startup after you apply cumulative update for a SQL Server version

 

 SQL Server 2016 SP2 Cumulative Update 6 (Build 13.0.5292), 26 total public hot fixes

FIX: Non-yielding scheduler issue occurs when you run queries in batch-mode that spill in SQL Server 2016

Improvement: Optional replacement for “String or binary data would be truncated” message with extended information in SQL Server 2016 and 2017

FIX: SQL Writer Service can cause undetected deadlocks on system DMV when you do a VSS backup

FIX: Users are incorrectly permitted to create incremental statistics on nonclustered indexes which are not aligned to the base table in SQL Server 2016

FIX: Assertion occurs when a parallel query deletes from a Filestream table in SQL Server 2014 and 2016

FIX: FILESTREAM for file I/O access feature can’t be enabled when you use Cluster Shared Volumes (CSV) in SQL Server 2016 Failover Cluster Instances

FIX: Assertion occurs when linked server which points to itself is used in a cross-database transaction in SQL Server 2016

FIX: Error 10314 occurs when you load .NET CLR assembly in SQL Server 2016 database

FIX: Filtered NCI over a CCI may not be maintained when the table is updated in a way that none of the key or included columns of the NCI are changed

FIX: Stack Dump occurs in the change tracking cleanup process in SQL Server 2016

Improvement: DMV sys.dm_hadr_cluster reports cloud witness quorum type “4” and quorum_type_desc “UNKNOWN_QUORUM” in SQL Server 2016

FIX: Automatic seeding assertions when databases are removed from AG in SQL Server 2016

FIX: Error occurs when sp_addarticle is used to add article for transactional replication to memory-optimized table on subscriber in SQL Server 2016

FIX: A specially crafted query run by a low privileged user may expose the masked data in SQL Server 2016

FIX: Error occurs when you back up a virtual machine with non-component based backup in SQL Server 2016

 

 SQL Server 2016 SP2 Cumulative Update 7 (Build 13.0.5337), 27 total public hot fixes

FIX: Repl_Schema_Access wait issues when there are multiple publisher databases on the same instance of SQL Server 2016

FIX: Filtered index may be corrupted when you rebuild index in parallel in SQL Server 2014 and 2016

FIX: Assertion error occurs when you use sys.dm_exec_query_statistics_xml in SQL Server 2016

FIX: Access violation occurs when you query sys.dm_hadr_availability_replica_states in SQL Server 2016

FIX: Floating point exception error 3628 occurs when you query DMV sys.dm_db_xtp_hash_index_stats in SQL Server 2016

FIX: Manual failover between forwarder and secondary replica fails with all replicas synchronized in SQL Server 2016

FIX: Error occurs when you back up a virtual machine with non-component based backup in SQL Server 2016

FIX: Access violation occurs when you run a query against sys.availability_replicas in SQL Server 2016

FIX: Adding new Publication may fail if distribution database is in AG and collation is set to BIN in SQL Server 2016

FIX: Query against table with both clustered columnstore index and nonclustered rowstore index may return incorrect results in SQL Server 2016

FIX: Fail to join the secondary replica if the database has a defunct filegroup in SQL Server 2014 and 2016

FIX: Columnstore filter pushdown may return wrong results when there is an overflow in filter expressions in SQL Server 2014 and 2016

FIX: Indirect checkpoints on tempdb database cause “Non-yielding scheduler” error in SQL Server 2016

FIX: Log reader agent may fail after AG failover with TF 1448 enabled in SQL Server 2014 and 2016

FIX: Tlog grows quickly when you run auto cleanup procedure in SQL Server 2016

FIX: AG is suspended when cross-database transaction is applied on AG databases in SQL Server 2016

Fix: “Non-yielding Scheduler” occurs when you clean up in-memory runtime statistics of Query Store in SQL Server 2016

FIX: Data movement to DAG Forwarder does not resume automatically after connection time-out in SQL Server 2016

FIX: SQL Server 2016 does not perform the requested pre-row assignments when you use MERGE statement that performs assignments of local variables for each row

FIX: Access violation occurs when you run sys.fn_dump_dblog function in SQL Server 2016

FIX: Assertion error occurs when you run a query to access sys.dm_db_xtp_checkpoint_files in SQL Server 2016

 

 SQL Server 2016 SP2 Cumulative Update 8 (Build 13.0.5427), 28 total public hot fixes

FIX: Encryption scan task triggered upon the startup of a database may be canceled in SQL Server 2016

FIX: Peer-to-peer replication fails in SQL Server 2016 if the host name is not uppercase

FIX: “No valid credentials provided” occurs after you restart PolyBase in SQL Server 2016 and 2017

FIX: Assertion dump occurs when you select a view on a linked server in SQL Server 2016 and 2017

Improvement: Allow altering external data source in APS in SQL Server 2016

FIX: Concurrent Inserts into a CCI can cause deadlock under memory pressure in SQL Server 2016

FIX: Intermittent “row not found” error at Azure SQL DB Subscriber caused by duplication of BEGIN TRAN statements

FIX: Prolonged non-transactional usage of FileTable without instance restart may cause non-yielding scheduler error or server crash in SQL Server 2014, 2016 and 2017

FIX: DBCC SHOW_STATISTICS permission check fails with an AV error in SQL Server 2016 and 2017

FIX: Filled transaction log causes outages when you run Query Store in SQL Server 2016 and 2017

FIX: Access violation error occurs when SQL Server 2016 uses hash join, hash aggregate, sort or window function in batch-mode plan in the deadlock monitor

FIX: Access violation occurs when you enable TF 3924 to clean orphaned DTC transactions in SQL Server 2016

FIX: Memory dumps generate when access violation occurs in SQL Server 2016

FIX: Error 409 occurs when you back up databases by using BackuptoURL

FIX: Syscommittab cleanup causes a lock escalation that will block the syscommittab flush in SQL Server 2016

FIX: Data masking may not be applied when you use PIVOT or UNPIVOT function on masked column in SQL Server 2016 and 2017

FIX: Access Violation occurs when you use LOG function with a remote query in SQL Server 2016 or 2017

FIX: Assertion error occurs when SQL Server 2016 uses hash join, hash aggregate, sort or window function in batch-mode plan

FIX: “Non-yielding Scheduler” occurs when you run queries with batch-mode hash join and/or sort in SQL Server 2016

FIX: Querying sys.tables returns temporary tables created by concurrent users starting from SQL Server 2012

FIX: Restore or RESTORE VERIFYONLY of a TDE-compressed backup fails in SQL Server 2016 and 2017

FIX: Azure storage I/O subsystem may not reset transfer details for a failed I/O resulting in backup errors

FIX: Internal thread deadlock occurs on secondary replica of availability group in SQL Server 2016 SP2 and 2017

FIX: Error 9003 occurs when you back up a database on a secondary replica in Microsoft SQL Server 2016

 

 SQL Server 2016 SP2 Cumulative Update 10 (Build 13.0.5492), 21 total public hot fixes

FIX: Transaction log isn‘t truncated on a single node Availability Group in SQL Server 2016

FIX: Orphaned CLR sessions cause blocking in SQL Server 2016

FIX: Access violation occurs when you run queries that involve PIVOT or UNPIVOT in SQL Server 2016

FIX: Incorrect results occur with index intersection on partitioned table with a clustered columnstore index in SQL Server 2016

FIX: Access violation occurs when you enable TF 3924 to clean orphaned DTC transactions in SQL Server

FIX: Stack dump occurs when table type has a user-defined constraint in SQL Server 2016

FIX: When you change SEEDING_MODE to MANUAL using ALTER AVAILABILITY GROUP, SQL Server 2016 does not cancel the current seeding operations to the secondary replica

FIX: SQL Writer Service fails to back up in non-component backup path in SQL Server 2016

FIX: Cardinality property for a table doesn’t account for the rows in the delta store or the deleted bitmap if the table has a clustered columnstore index

FIX: Access violation occurs when a clone database verification fails in SQL Server 2016

FIX: You may receive wrong results when you query sys.database_scoped_configurations in SQL Server 2016

FIX: Poor query performance due to low cardinality estimation in SQL Server 2016 when you use default CE and column is covered by both single and multi column statistics

FIX: SQL Server 2016 database remains in frozen I/O state indefinitely when backed up by VSS

 

 SQL Server 2016 SP2 Cumulative Update 11 (Build 13.0.5492), 26 total public hot fixes

FIX: Error 41168 occurs when you try to alter DAG SEEDING_MODE in SQL Server 2016 and 2017

FIX: Self-deadlock occurs when transaction auditing is enabled in SQL Server 2016 and 2017

FIX: Non-yielding scheduler condition occurs if large number of row-column values are processed in row groups in SQL Server 2016

FIX: Exception error 3628 may occur when you execute stored procedure in SQL Server 2016 and 2017

FIX: Database cannot recover and reports error 5243 in SQL Server 2016 and 2017

FIX: UPDATE STATISTICS takes very long time to generate maintenance plan for large databases in SQL Server 2016 and 2017

FIX: You may encounter a non-yielding scheduler condition when you run query with parallel batch-mode sort operator in SQL Server 2016

FIX: DBCC CHECKDB with EXTENDED_LOGICAL_CHECKS fails on a table in SQL Server 2016

FIX: Unable to restore SQL Server 2012 databases on SQL Server 2016 because of NCCI

FIX: Error 8959 may occur on IAM page when you query sys.dm_db_index_physical_stats against partitioned columnstore table after partition switch in SQL Server

FIX: Access violation occurs when you restore the In-Memory Optimized database in SQL Server 2016 and 2017

FIX: Assertion error occurs when you use IDENT_CURRENT on view that has identity columns in SQL Server 2016

FIX: Restore fails when you try to restore compressed TDE backups prior to SQL Server 2016 SP2 CU4 on SQL Server 2016 SP2 CU8

FIX: Access violation occurs when you use sys.dm_os_memory_objects in SQL Server 2016 and 2017

FIX: Error 8601 occurs when you run a query with partition function in SQL Server

FIX: Scripts generated by SSMS collect different wait types after you install SQL Server 2016 SP2 CU10

FIX: Non-yielding scheduler issue occurs in SQL Server 2016 when you run an online build for an index that is not partition-aligned

FIX: “The File location cannot be opened” error occurs when you try to open a FileTable directory in SQL Server

FIX: CREATE INDEX with new CE reads the partition table and results in huge row count higher than than the total table row count in SQL Server 2016

FIX: Assertion error occurs when you run getHKTable function to get Hekaton database in SQL Server 2016

 

The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).

If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.

On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.

Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.

The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP2 Builds appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2016-sp2-builds/feed/ 1
Performance and Stability Related Fixes in Post-SQL Server 2016 SP1 Builds https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2016-sp1-builds/ https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2016-sp1-builds/#respond Fri, 31 Mar 2017 18:15:28 +0000 http://3.209.169.194/blogs/glenn/?p=1171 As of May 16, 2019, there have been fifteen Cumulative Updates (CU) for the Service Pack 1 branch of SQL Server 2016. There have been a large number of hotfixes in each of these cumulative updates. If you are still running on the SQL Server 2016 SP1 branch (instead of moving to SP2), I really […]

The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP1 Builds appeared first on Glenn Berry.

]]>
As of May 16, 2019, there have been fifteen Cumulative Updates (CU) for the Service Pack 1 branch of SQL Server 2016. There have been a large number of hotfixes in each of these cumulative updates. If you are still running on the SQL Server 2016 SP1 branch (instead of moving to SP2), I really think you should be running the latest SQL Server 2016 SP1 Cumulative Update.

Table 1 shows the SQL Server 2016 SP1 CU builds that have been released so far:

Build Description Release Date
13.0.4411 SP1 CU1 January 18, 2017
13.0.4422 SP1 CU2 March 20, 2017
13.0.4435 SP1 CU3 May 15, 2017
13.0.4446 SP1 CU4 August 8, 2017
13.0.4451 SP1 CU5 September 18, 2017
13.0.4457 SP1 CU6

November 21, 2017

13.0.4466 SP1 CU7 January 4, 2018
13.0.4474 SP1 CU8 March 19, 2018
13.0.4502 SP1 CU9 May 30, 2018
13.0.4514 SP1 CU10 July 16, 2018
13.0.4528 SP1 CU11 September 17, 2018
13.0.4541 SP1 CU12 November 13, 2018
13.0.4550 SP1 CU13 January 23, 2019
13.0.4560 SP1 CU14 March 19, 2019
13.0.4574 SP1 CU15 May 16, 2019
     

Table 1: SQL Server 2016 SP1 CU Builds

You can follow the KB article link below to see all of the CU builds for the SQL Server 2016 RTM and SQL Server 2016 SP1 branches.

SQL Server 2016 Build Versions

Like I have done for other versions and branches of SQL Server, 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 specific SQL Server 2016 features you are using.

Here are the fixes in the SP1 branch:

SQL Server 2016 SP1 Cumulative Update 1 (Build 13.0.4411), 54 total public hot fixes

FIX: The “sys.dm_db_column_store_row_group_physical_stats” query runs slowly on SQL Server 2016

FIX: DMV sys.dm_os_spinlock_stats returns incorrect results after you install SQL Server 2016 RTM CU2

FIX: SQL Server crashes when you execute a spatial data query that has been compiled in SQL Server 2016

FIX: An Always On secondary replica goes into a disconnecting state

FIX: A memory leak occurs when SQL Server procedure cache consumes too much memory

FIX: DMV sys.dm_hadr_availability_replica_states returns an incorrect synchronization health state for a distributed availability group

FIX: Out of memory occurs when you use long Hekaton transactions in SQL Server 2016

FIX: The Target Recovery Time of a database set to a nonzero value causes an assertion and a lease timeout in SQL Server 2014 or 2016

Decrease in performance and “non-yielding scheduler” errors caused by unnecessary spinlocks in SQL Server

FIX: Latch Contention may occur on execution of parallel queries on database that has Snapshot Isolation enabled in SQL Server 2016

FIX: Cannot execute the DBCC CLONEDATABASE command on an instance of SQL Server 2016 SP1 after an in-place upgrade

FIX: SQL Server crashes when you execute the OPENJSON function in a contained database in SQL Server 2016

FIX: SQL Server runs out of memory when you query data from memory-optimized tables if Resource Governor is enabled

FIX: Error messages are logged if database mirroring is configured by Transact-SQL in SQL Server 2016 and no database activity occurs for more than 90 seconds

Update to enable changing the PolyBase service accounts without reinstalling the PolyBase feature in SQL Server 2016

FIX: Error when create a stored procedure that uses a synonym together with an index hint in SQL Server 2016

FIX: An assert error occurs when you insert data into a memory-optimized table that contains a clustered columnstore index in SQL Server 2016

FIX: Error 3628 when you create or rebuild a columnstore index in SQL Server 2016

FIX: An access violation occurs when you execute DBCC CHECKDB on a database in SQL Server 2016

FIX: A dump file is generated when you enable system-versioning on a table in SQL Server 2016

FIX: Kernel crash when you create a database after you drop a database that contains FILESTEAM data in SQL Server 2016

FIX: An assertion occurs when you bulk insert data into a table from multiple connections in SQL Server 2016

An error occurs when you use ODBC driver to retrieve sql_variant data in SQL Server 2014 or 2016

FIX: Automatic update of statistics feature doesn’t run after you truncate a table that has a clustered columnstore index

FIX: A query that contains a hint against a view that references at least one temporal table in a different database can generate a dump file in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 2 (Build 13.0.4422), 101 total public hot fixes

FIX: The change table is ordered incorrectly for updated rows after you enable change data capture for a Microsoft SQL Server database

FIX: Memory leak when you query sys.dm_sql_referenced_entities view in SQL Server 2014 or 2016

FIX: Changing the data type and then updating the table with more than 4,000 records causes database corruption

FIX: Cannot insert data into a table that uses a clustered columnstore index in SQL Server 2016

FIX: Incremental statistics runs with higher sample rate than regular statistics when statistics are created or updated in SQL Server 2014 or 2016

FIX: DMV sys.dm_hadr_availability_replica_states returns an incorrect synchronization health state for a distributed availability group

FIX: ALTER TABLE, ADD CONSTRAINT, and PRIMARY KEY statements do not detect a duplicate key in SQL Server 2016

FIX: Cannot install SQL Server R Services during an offline installation of SQL Server 2016 updates

Improvement: Enhance VDI Protocol with VDC_Complete command in SQL Server

FIX: Unable to rebuild the partition online for a table that contains a computed partitioning column in SQL Server 2016

FIX: Assertion error when dm_exec_query_statistics_xml is used in a query plan that contains certain operators in SQL Server 2016

FIX: Wrong number of rows returned in sys.partitions for Columnstore index in SQL Server 2016

Statistics are removed after rebuilding a specific partition of an partitioned aligned index on a partitioned table in SQL Server

FIX: On failover, the new secondary replica stops accepting transaction log records until the instance is restarted in SQL Server

FIX: Deadlock when you execute a query plan with a nested loop join in batch mode in SQL Server 2014 or 2016

FIX: SQL Server crashes when you execute a spatial data query that has been compiled in SQL Server 2016

FIX: An assert error occurs when you insert data into a memory-optimized table that contains a clustered columnstore index in SQL Server 2016

FIX: DBCC CLONEDATABASE doesn’t copy the runtime cache of the query store to the clone in SQL Server 2016 SP1

FIX: Distribution Agent fails for a SQL Server 2014 publisher and a SQL Server 2012 subscriber in Transactional Replication

FIX: Incorrect full-text keys are recorded for the rows that aren’t indexed correctly by a full-text index in SQL Server

FIX: Data type conversion error in a query that involves a column store index in SQL Server 2016

FIX: Error 2809 when you execute a stored procedure that takes a table-valued parameter from RPC calls in SQL Server 2014 or 2016

FIX: Deadlock causes deferred transaction on the secondary replica in an Always On environment

FIX: “Non-yielding Scheduler” condition when you parallel-load data into a columnstore index in SQL Server 2016

SQL Server crashes with an access violation when you use the TRY…CATCH construct for bulk copy

FIX: Rebuilding a nonclustered index to add columns by using CREATE INDEX with DROP_EXISTING=ON and ONLINE=ON causes blocking

FIX: DBCC CHECKFILEGROUP reports false inconsistency error 5283 on a database that contains a partitioned table in SQL Server

Update improves DMV sys.dm_server_services and sys.dm_os_sys_info in SQL Server 2016

FIX: A memory leak occurs when SQL Server procedure cache consumes too much memory

FIX: “Incorrect syntax for definition of the ‘default’ constraint” error when you add an arbitrary columnstore column in SQL Server 2016

FIX: Error when you add a NOT NULL column with default values to a non-empty clustered columnstore index in SQL Server 2016 Standard and Express edition

FIX: Memory leak when you run a query that you don’t have sufficient permissions for in SQL Server 2014 or 2016

FIX: Intra-query deadlock when values are inserted into a partitioned clustered columnstore index in SQL Server 2014 or 2016

FIX: Assert memory dump on a mirror server in SQL Server

FIX: Error 5262 when you execute DBCC CHECKDB on the primary replica in SQL Server 2012, 2014 or 2016

FIX: Availability databases in incorrect initializing/synchronizing state after failover of SQL Server 2014 or 2016 AlwaysOn availability group

FIX: More CPU consumption when many consecutive transactions insert data into a temp table in SQL Server 2016 than in SQL Server 2014

FIX: CREATE OR ALTER statement applied on a DDL trigger fails on the next execution in SQL Server 2016

Improvement: Enable SQL Server Managed Backup to back up databases that are larger than 50 GB to Microsoft Azure in SQL Server 2016

Improvement: Improves the query performance for SQL Server 2016 by changing the use of histograms on UNIQUE columns

FIX: The sys.column_store_segments catalog view displays incorrect values in the column_id column in SQL Server 2016

FIX: Memory is paged out when columnstore index query consumes lots of memory in SQL Server 2014 or 2016

FIX: An access violation occurs when you execute DBCC CHECKDB on a database in SQL Server 2016

FIX: Error 21050 when you remove a table that is not part of a publication in SQL Server 2014 or 2016

FIX: Queries that run against secondary databases always get recompiled in SQL Server

FIX: Out-of-memory errors when you execute DBCC CHECKDB on database that contains columnstore indexes in SQL Server 2014 or 2016

FIX: Error 3628 when you create or rebuild a columnstore index in SQL Server 2016

FIX: Significantly increased PAGELATCH_EX contentions in sys.sysobjvalues in SQL Server 2016

FIX: Incorrect query result when you use varchar(max) variable in the search condition in SQL Server 2014 or 2016

FIX: You cannot select any replica when you fail over from an availability group that’s in the resolving state

FIX: No automatic failover after database mirroring stops unexpectedly in SQL Server

FIX: TDE encrypted Databases go in suspect state during the recovery phase when you restart SQL Server

FIX: Bad query plan created on secondary replicas after FULLSCAN statistics update on primary replica in SQL Server 2016

FIX: Checkpoint files grow excessively when you insert data into memory-optimized tables in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 3 (Build 13.0.4435), 70 total public hot fixes

FIX: Query against sys.dm_db_partition_stats DMV is slow if the database contains many partitions in SQL Server 2016

FIX: Error occurs when you drop a subscription by using a non-sysadmin account in SQL Server

FIX: Access violation occurs when used SELECT TOP query to retrieve data from clustered columnstore index in SQL Server 2016

FIX: Large memory allocations of type MEMOBJ_XSTMT occur when you run the sys.dm_exec_query_stats script in SQL Server

FIX: Parallel redo causes high memory usage in SQL Server 2016 when it’s compared to SQL Server 2014 or earlier versions

FIX: SQL Server 2016 consumes more memory when columnstore index is reorganizeda>

FIX: Error when you execute DBCC CLONEDATABASE on an “Always Encrypted” enabled database in SQL Server 2016

Update enables DML query plan to scan query memory-optimized tables in parallel in SQL Server 2016

Intra-query deadlock on communication buffer when you run a bulk load against a clustered columnstore index in SQL Server 2016

FIX: Error 608 when a stored procedure that inserts rows into a temporary table on which a spatial index is created is run in SQL Server

FIX: Wrong number of rows returned in sys.partitions for Columnstore index in SQL Server 2016

FIX: An assertion occurs when you run an UPDATE statement on a clustered columnstore index in SQL Server 2016

FIX: A severe error occurs when you create a spatial index with the GEOMETRY_GRID or GEOGRAPHY_GRID option in SQL Server

FIX: SQL Server 2016 stops responding when the “Latch_Suspend_End” extended event is triggered incorrectly

FIX: Out-of-memory error when you run a query to access LOB columns through In-Memory OLTP in SQL Server 2016

FIX: DMV sys.dm_hadr_availability_group_states displays “NOT_HEALTHY” in synchronization_health_desc column on secondary replicas in SQL Server

Update reduces the execution frequency of the sp_MSsubscription_cleanup stored procedure in SQL Server

FIX: Deadlock when you use sys.column_store_row_groups and sys.dm_db_column_store_row_group_physical_stats DMV with large DDL operations in SQL Server 2016

FIX: Restore fails when you do backup with compression and checksum on TDE enabled database in SQL Server 2016

FIX: A memory leak in SQLWEP causes the host process Wmiprvse.exe to crash in SQL Server

FIX: Failed assertion and many access violation dump files after the sp_replcmds stored procedure is canceled in SQL Server

FIX: The sys.column_store_segments catalog view displays incorrect values in the column_id column in SQL Server 2016

FIX: Intra-query deadlock occurs when you execute parallel query that contains outer join operators in SQL Server 2016

FIX: Database schema is corrupted when you restore a database from a snapshot in SQL Server

 

SQL Server 2016 SP1 Cumulative Update 4 (Build 13.0.4446), 49 total public hot fixes

FIX: Deadlocks occur in SSISDB when you run multiple SSIS packages in SQL Server 2014 or 2016

FIX: Data mask on a floating points column is removed unexpectedly in SQL Server 2016

FIX: Deadlock when you use sys.column_store_row_groups and sys.dm_db_column_store_row_group_physical_stats DMV with large DDL operations in SQL Server 2016

FIX: “Non-yielding Scheduler” condition occurs when you change the BUCKET_COUNT value for large memory-optimized tables in Microsoft SQL Server 2016

FIX: An access violation occurs when you update a partitioned table that contains PERSISTED computed columns in SQL Server 2016

FIX: SUSER_SNAME function returns different result between SQL Server 2014 and SQL Server 2016

FIX: Transaction log backup failure on the secondary replica in SQL Server Always-On Availability Groups

FIX: An access violation occurs when you create an index with page compression in SQL Server

FIX: Parallel query execution returns incorrect results for merge join operations in SQL Server 2016

FIX: Access violation with query to retrieve data from a clustered columnstore index in SQL Server 2014 or 2016

FIX: “FILESTREAM feature is disabled” error when you use the FILESTREAM feature for SQL Server 2014 or 2016 in Windows 10 Creators Update

Fix: System generated stored procedures are created incorrectly in P2P publication if the schema name of published table contains a period (.) in SQL Server 2014 or 2016

FIX: Couldn’t truncate a partition of the partitioned table if it contains an extended or XML index in SQL Server 2016

FIX: A stored procedure may fail after an automatic failover occurs on a mirrored database in SQL Server

FIX: DMF sys.dm_db_incremental_stats_properties doesn’t show all partitions if partitioning column is set to character or binary data type

FIX: Assertion failure when backing up large TDE encrypted database in SQL Server

FIX: Access violation occurs when you execute a query in SQL Server 2016

FIX: SQL Server 2016 stops responding when the “Latch_Suspend_End” extended event is incorrectly triggered

FIX: Assertion error occurs on the secondary replica when you resume a suspended availability database in SQL Server 2016

FIX: Databases on secondary replica shows “NOT SYNCHRONIZING” status after failover in SQL Server 2016

FIX: “Incorrect syntax” error when you add a subscription by using the “sp_addpullsubscription_agent” stored procedure in SQL Server

FIX: “EXCEPTION_INVALID_CRT_PARAMETER” error with BULK INSERT statement in SQL Server 2016

FIX: Query with UNION ALL and a row goal may run slower in SQL Server 2014 or later versions when it’s compared to SQL Server 2008 R2

FIX: Memory leak occurs when you use memory-optimized tables in Microsoft SQL Server 2016 Standard edition

FIX: SQL Server 2014 or 2016 Backup to Microsoft Azure Blob storage service URL isn’t compatible for TLS 1.2

Update adds the “CLR strict security” feature to SQL Server 2016

FIX: Fail to compress the backup file when INIT and COMPRESSION option is used in a TDE enabled database in SQL Server 2016

FIX: Change Data Capture stops working after a recent cumulative update for SQL Server is installed

FIX: Restore fails when you do backup by using compression and checksum on a TDE enabled database in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 5 (Build 13.0.4451), 44 total public hot fixes

FIX: EXCEPTION_ACCESS_VIOLATION for query using sys.dm_os_memory_objects statement in SQL Server 2016

FIX: Access violation with query to retrieve data from a clustered columnstore index in SQL Server 2014 or 2016

FIX: Incorrect behavior when you use memory-optimized tables with “where exists” statement in SQL Server 2016

FIX: Automatic seeding in Availability Groups randomly causes error 41169 in SQL Server 2016

FIX: Log chain break in the “managed_backup.fn_available_backups” table in SQL Server 2016

FIX: Assertion error occurs on the secondary replica when you resume a suspended availability database in SQL Server 2016

FIX: Database mirroring failover fails with error 3456 in SQL Server 2016

FIX: Backup of availability database via VSS-based application may fail in SQL Server 2016

FIX: Timeout when you back up a large database to URL in SQL Server 2014 or 2016

FIX: Memory use with many databases greater in SQL Server 2016 than earlier versions

FIX: Constraint violation error returned by the managed_backup.fn_available_backups function after you install the Cumulative Update 2 for SQL Server 2016 SP1

FIX: Error message when you use the sp_execute_external_script stored procedure to insert data and specify @parallel value to 1 in SQL Server 2016

FIX: Access violation occurs when you query the sys.availability_groups catalog view in SQL Server 2016

FIX: Error when you configure an Azure SQL database to subscribe a transactional publication that contains spatial indexes in SQL Server 2016

FIX: DBCC CHECKFILEGROUP reports false inconsistency error 5283 on a database that contains a partitioned table in SQL Server

FIX: Couldn’t disable “change data capture” if any column is encrypted by “Always Encrypted” feature of SQL Server 2016

FIX: “Non-yielding Scheduler” condition occurs on spinlock contention in Microsoft SQL Server 2014 or 2016

FIX: Performance drop when using In-Memory OLTP with Always On availability groups in SQL Server 2016

FIX: Access violation occurs when a DDL trigger is raised by the CREATE EXTERNAL TABLE command in SQL Server 2016

FIX: Query that joins a view and contains UNION ALL slow in SQL Server 2016

FIX: Fails to resume a suspended availability database after a write error in SQL Server 2014 or 2016

FIX: Returns incorrect results when computed column is queried after installing hotfix that’s described in KB 3213683 and enabling TF 176 in SQL Server 2016

FIX: Indirect checkpoints on the tempdb database cause “Non-yielding scheduler” error in SQL Server 2016

FIX: SQL Server Managed Backups do not run a scheduled log backup in SQL Server 2016

Update to improve the performance for columnstore dynamic management views “column_store_row_groups” and “dm_db_column_store_row_group_physical_stats” in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 6 (Build 13.0.4457), 43 total public hot fixes

FIX: Memory use with many databases greater in SQL Server 2016 than earlier versions

FIX: Access violation when you cancel a pending query if the missing indexes feature is enabled in SQL Server 2014 and 2016

FIX: “Non-yielding Scheduler” condition occurs for query with many expressions in SQL Server 2014 and 2016

FIX: Assertion occurs on accessing memory-optimized table through MARS

FIX: In-Memory database restore fails with errors in SQL server 2016

FIX: Access violation occurs when SQL Server 2016 tries to start Query Store Manager during startup

FIX: A non yielding scheduler issue occurs when you use the SQL Server Query Store feature in SQL Server

Hotfix: Alert Engine reads entire Application Event Log and sends aler

FIX: Access violation for DMV queries run against a distributed availability group in SQL Server

FIX: Distributed Transactions in an AG database fails after restarting in SQL Server 2016

FIX: DMV sys.dm_os_windows_info returns wrong values for Windows 10 and Windows server 2016

FIX: Data retrieval queries using non-clustered index seek take much longer in SQL Server

FIX: “Stalled IOCP Listener” and “non-yielding IOCP listener” memory dumps generated SQL Server 2016 restart

FIX: Access violation on primary replica of AlwaysOn AG in SQL Server 2016

FIX: Query that uses parallel query execution plan with “merge join” operation slow in Cumulative Update 3, 4 or 5 for SQL Server 2016 Service Pack 1

FIX: SELECT query that uses batch mode hash aggregate operator that counts multiple nullable columns returns incorrect results in SQL Server

FIX: Access violation for spatial datatypes query via linked server in SQL Server

FIX: Thread pool exhaustion and CMEMTHREAD contention in AAG with data seeding in SQL Server 2016

FIX: Errors 33111 and 3013 when you back up a TDE encrypted database in SQL Server

 

SQL Server 2016 SP1 Cumulative Update 7 (Build 13.0.4466), 23 total public hot fixes

FIX: Assertion occurs when you pass memory-optimized table variable into a stored procedure as table-valued parameter in SQL Server 2016

FIX: A deadlock occurs when you run a parallel query on a clustered columnstore index in SQL Server 2016

FIX: Memory leak occurs when you back up a database that contains memory-optimized objects in SQL Server 2016

FIX: High CPU usage when large index is used in a query on a memory-optimized table in SQL Server 2016

FIX: Error when you rebuild a single partition of an index online in SQL Server 2014 and 2016

FIX: DBCC CHECKDB returns consistency errors if SOUNDEX function is used in PERSISTED computed columns in SQL Server

FIX: TDE enabled database backup fails because of inaccessibility of an EKM module in SQL Server 2016

FIX: Unable to rebuild the partition online for a table that contains a computed partitioning column in SQL Server 2014 or 2016

FIX: Recovery of database takes a long time when it contains memory-optimized tables in SQL Server 2016

FIX: Heavy tempdb contention occurs in SQL Server 2016

FIX: “Msg 3948” error when you run a query on secondary replica of secondary availability group in SQL Server 2016

FIX: Log shipping fails when you use it together with Always On Availability Groups in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 8 (Build 13.0.4474), 41 total public hot fixes

FIX: Assertion error when executing a stored procedure that references a large object in SQL Server 2014, 2016, and 2017

FIX: Assertion error when data is bulk-inserted into a table that contains nonclustered and clustered columnstore indexes in SQL Server 2016

FIX: A REDO thread is not available in the secondary replica after an availability database is dropped in SQL Server

FIX: UPDATE statement fails silently when you reference a nonexistent partition function in the WHERE clause in SQL Server 2014, 2016, or 2017

FIX: Can’t enable or disable change data capture for a database after you attach it in SQL Server 2014, 2016, or 2017

FIX: “Invalid comparison due to NO COLLATION” retail assert occurs in SQL Server 2014, 2016, and 2017

FIX: Out of memory error when the virtual address space of the SQL Server process is very low in SQL Server

FIX: Assertion failure when sys.dm_db_log_space_usage statement is run on a database snapshot in SQL Server 2016

FIX: It takes a long time to restore a TDE encrypted database backup in SQL Server

Update to support partition elimination in query plans that have spatial indexes in SQL Server 2016

FIX: Intra-query deadlock when values are inserted into a partitioned clustered columnstore index in SQL Server 2016

FIX: DMV sys.dm_os_windows_info returns wrong values for Windows 10 and Windows Server 2016

FIX: Intermittent 9004 error when a backup is restored via Standby Mode in SQL Server 2014

FIX: ALTER PROCEDURE WITH ENCRYPTION statement fails when you encrypt a non-published stored procedure in SQL Server 2016

FIX: System stored procedure sp_execute_external_script and DMV sys.dm_exec_cached_plans cause memory leaks in SQL Server 2016 and 2017

A non-optimal query plan choice causes poor performance when values outside the range represented in statistics are searched in SQL Server 2016 and 2017

FIX: Large disk checkpoint usage occurs for an In-Memory optimized filegroup during heavy non-In-Memory workloads

FIX: Heavy tempdb contention occurs in SQL Server 2016

FIX: Error 9002 when there is no sufficient disk space for critical log growth in SQL Server 2014 and 2016

FIX: Random access violations occur when you run monitoring stored procedure in SQL Server 2016

Improves the query performance when an optimized bitmap filter is applied to a query plan in SQL Server 2016 and 2017

FIX: “A time-out occurred while waiting for buffer latch — type 4” error when you use Availability Groups in SQL Server 2016 or 2017

 

SQL Server 2016 SP1 Cumulative Update 9 (Build 13.0.4502), 25 total public hot fixes

PFS page round robin algorithm improvement in SQL Server 2016

Performance issues occur in the form of PAGELATCH_EX and PAGELATCH_SH waits in TempDB when you use SQL Server 2016

FIX: Change tracking record is inconsistent during an update on a table which has a cluster/unique index in SQL Server

FIX: TDE database goes offline during log flush operations when connectivity issues cause the EKM provider to become inaccessible in SQL Server

FIX: A dead latch condition occurs when you perform an online index rebuild or execute a merge command in SQL Server

FIX: An access violation occurs when incremental statistics are automatically updated on a table in SQL Server

FIX: Restore of a TDE compressed backup is unsuccessful when using the VDI client

FIX: Performance is slow for an Always On AG when you process a read query in SQL Server

FIX: Database cannot be dropped after its storage is disconnected and reconnected in SQL Server

FIX: Parallel redo in a secondary replica of an availability group that contains heap tables generates a runtime assert dump or the SQL Server crashes with an access violation error

FIX: Access violation occurs when you query a table with an integer column in SQL Server 2017 and SQL Server 2016

FIX: One worker thread seems to hang after another worker thread is aborted when you run a parallel query in SQL Server

FIX: TDE enabled database backup and restore operations are slow when the encryption key is stored in an EKM provider in SQL Server

FIX: An access violation occurs when you execute a nested select query against a columnstore index in SQL Server

FIX: TDE enabled database backup with compression causes database corruption in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 10 (Build 13.0.4514), 21 total public hot fixes

FIX: Parallel redo does not work after you disable Trace Flag 3459 in an instance of SQL Server

FIX: Access violation in cross data center failover if you use Always On Availability Groups in SQL Server

FIX: VSS backup fails in secondary replica of Basic Availability Groups in SQL Server 2016

FIX: Event notifications for AUDIT_LOGIN and AUDIT_LOGIN_FAILED events will cause an unusual growth of TempDB in SQL Server 2016

FIX: Error 3906 when a hotfix is applied on a SQL Server that has a database snapshot on a pull subscription database

FIX: “Corrupted index” message and server disconnection when an update statistics query uses hash aggregate on SQL Server

FIX: “PAGE_FAULT_IN_NONPAGED_AREA” Stop error when enumerating contents in a SQL Server FileTable directory

FIX: Transaction delays on the primary replica if database synchronization is reported incorrectly on a secondary replica in SQL Server

FIX: Query on a secondary replica takes two times as long to run as on a primary replica in SQL Server

FIX: Assertion error occurs when you add a database to an instance of SQL Server 2016

FIX: SQL Server may generate EXCEPTION_ACCESS_VIOLATION dump file when you merge two partitions of system-versioned temporal tables in SQL Server 2016

Transparent Data Encryption added for Log Shipping in SQL Server 2016 and 2017

Improvement: Configure SESSION_TIMEOUT value for a Distributed Availability Group replica in SQL Server 2016 and 2017

FIX: Leakage of sensitive data occurs when you enable DDM function in SQL Server 2016 and 2017

Improvement that sets distributed Always On Availability Groups to automatically seed to all replicas when you add a new database in SQL Server

FIX: Error 19432 when you use Always On Availability Groups in SQL Server

 

SQL Server 2016 SP1 Cumulative Update 11 (Build 13.0.4528), 8 total public hot fixes

FIX: A memory leak occurs in sqlwepxxx.dll causes the WmiPrvSe.exe process to crash

FIX: Access violations and unhandled exceptions occur when you set automatic seeding for secondary replica or DAG replica in SQL Server 2016

FIX: “9003 error, sev 20, state 1” error when a backup operation fails on a secondary replica that is running under asynchronous-commit mode

 

SQL Server 2016 SP1 Cumulative Update 12 (Build 13.0.4541), 16 total public hot fixes

FIX: Access violation when you try to access a table when page compression is enabled on the table in SQL Server

FIX: Incorrect results occur when you convert “pollinginterval” parameter from seconds to hours in sys.sp_cdc_scan in SQL Server

FIX: Overestimations when using default Cardinality Estimator to query table with many null values

FIX: The “modification_counter” in DMV sys.dm_db_stats_properties shows incorrect value when partitions are merged through ALTER PARTITION in SQL Server 2016

FIX: Assertion error occurs when you run a MERGE statement with an OUTPUT clause in SQL Server 2016 and 2017

FIX: “ran out of memory” error when executing a query on a table that has a large full-text index in SQL Server 2014 and 2016

FIX: Access violation occurs in Distribution Agent in SQL Server 2016 and 2017

FIX: VSS backup fails in SQL Server 2008 after you install CU10 for SQL Server 2016 SP1 in the same virtual machine

FIX: Assertion error occurs during restore of TDE compressed backups in SQL Server 2016

FIX: Peer-to-peer replication fails in SQL Server 2016 when the host name is not uppercase

FIX: Error 41168 occurs when you try to alter DAG SEEDING_MODE in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 13 (Build 13.0.4550), 9 total public hot fixes

FIX: Assertion error occurs when you run a MERGE statement with an OUTPUT clause in SQL Server 2016 and 2017

FIX: “Non-yielding” error occurs when there is a heavy use of prepared statements in SQL Server 2014 and 2016

FIX: Access violation when you run a query that contains a batch-mode hash join on Clustered Columnstore Index table in SQL Server 2016

FIX: Users are incorrectly permitted to create incremental statistics on nonclustered indexes which are not aligned to the base table in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 14 (Build 13.0.4560), 7 total public hot fixes

FIX: Intermittent failures when you back up to Azure storage from SQL Server 2014, 2016 and 2017

FIX: Assertion occurs when a parallel query deletes from a Filestream table in SQL Server 2014 and 2016

FIX: Filtered NCI over a CCI may not be maintained when the table is updated in a way that none of the key or included columns of the NCI are changed

FIX: Floating point exception error 3628 occurs when you query DMV sys.dm_db_xtp_hash_index_stats in SQL Server 2016

FIX: Error occurs when sp_addarticle is used to add article for transactional replication to memory-optimized table on subscriber in SQL Server 2016

FIX: A specially crafted query run by a low privileged user may expose the masked data in SQL Server 2016

 

SQL Server 2016 SP1 Cumulative Update 15 (Build 13.0.4574), 7 total public hot fixes

FIX: Filtered index may be corrupted when you rebuild index in parallel in SQL Server 2014 and 2016

FIX: Manual failover between forwarder and secondary replica fails with all replicas synchronized in SQL Server 2016

FIX: Query against table with both clustered columnstore index and nonclustered rowstore index may return incorrect results in SQL Server 2016

FIX: Fail to join the secondary replica if the database has a defunct filegroup in SQL Server 2014 and 2016

FIX: Columnstore filter pushdown may return wrong results when there is an overflow in filter expressions in SQL Server 2014 and 2016

FIX: Log reader agent may fail after AG failover with TF 1448 enabled in SQL Server 2014 and 2016

 

The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).

If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.

On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.

Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.

The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP1 Builds appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2016-sp1-builds/feed/ 0
Performance and Stability Related Fixes in Post-SQL Server 2014 SP2 Builds https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2014-sp2-builds/ https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2014-sp2-builds/#comments Sun, 19 Mar 2017 22:17:02 +0000 http://3.209.169.194/blogs/glenn/?p=1168 As of July 29, 2019, there have been eighteen Cumulative Updates (CU) for the Service Pack 2 branch of SQL Server 2014. There have been a large number of hotfixes in most of these cumulative updates. SP2 CU18 is the final CU for SQL Server 2014 SP2, since SQL Server 2014 fell out of Mainstream […]

The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP2 Builds appeared first on Glenn Berry.

]]>
As of July 29, 2019, there have been eighteen Cumulative Updates (CU) for the Service Pack 2 branch of SQL Server 2014. There have been a large number of hotfixes in most of these cumulative updates. SP2 CU18 is the final CU for SQL Server 2014 SP2, since SQL Server 2014 fell out of Mainstream Support on July 9, 2019.

If you are running on the SQL Server 2014 SP2 branch, I really think you should be running the latest SQL Server 2014 SP2 Cumulative Update.  In fact, if you are on SQL Server 2014, you should actually be on the SP3 branch, on the final CU, which is SP3 CU4.

Table 1 shows the SQL Server 2014 SP2 CU builds that have been released.

Build Description Release Date
12.0.5511 SP2 CU1 August 25, 2016
12.0.5522 SP2 CU2 October 17, 2016
12.0.5538 SP2 CU3 December 19, 2016
12.0.5540 SP2 CU4 February 21, 2017
12.0.5546 SP2 CU5 April 17, 2017
12.0.5553 SP2 CU6 July 17, 2017
12.0.5556 SP2 CU7 August 28, 2017
12.0.5557 SP2 CU8 October 16, 2017
12.0.5563 SP2 CU9 December 18, 2017
12.0.5571 SP2 CU10 January 16, 2018
12.0.5579 SP2 CU11 March 19, 2018
12.0.5589 SP2 CU12 June 18, 2018
12.0.5590 SP2 CU13 August 27, 2018
12.0.5600 SP2 CU14 October 15, 2018
12.0.5605 SP2 CU15 December 12, 2018
12.0.5626 SP2 CU16 February 19, 2019
12.0.5632 SP2 CU17 April 16, 2019
12.0.5687 SP2 CU18 July 29, 2019
     

Table 1: SQL Server 2014 SP2 CU Builds

You can follow the KB article link below to see all of the CU builds for the SQL Server 2014 RTM, SQL Server 2014 SP1, SQL Server 2014 SP2, and SQL Server 2014 SP3 branches.

SQL Server 2014 Build Versions

Like I have done for other versions and branches of SQL Server, I decided to scan the hotfix list for all of the Cumulative Updates in the SP2 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 specific SQL Server 2014 features you are using.

Here are the fixes in the SP2 branch:

SQL Server 2014 SP2 Cumulative Update 1 (Build 12.0.5511), 39 total public hot fixes

FIX: SQL Server crashes when you run a remote query in a stored procedure by using an invalid user name

FIX: Incorrect results when you use a LIKE operator and an “ss” wildcard in SQL Server 2014 or 2016

FIX: Memory leak on the AlwaysOn secondary replica when change tracking is enabled in SQL Server

“The log backup chain is broken” error when the log backup process fails in SQL Server

FIX: Error 1478 when you add a database back to the AlwaysOn availability group in SQL Server

Transaction log backup failure on the secondary replica prevents subsequent backups on Availability Replicas in SQL Server

FIX: Service Broker UCS task leaks memory in SQL Server 2014

Decrease in performance and “non-yielding scheduler” errors caused by unnecessary spinlocks in SQL Server

Operating system error 32 when you restore a database in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 2 (Build 12.0.5522), 17 total public hot fixes

Improved SQL Server stability and concurrent query execution for some columnstore queries in SQL Server 2014 and 2016

SQL Server 2012 crashes with an access violation when you use the TRY…CATCH construct for bulk copy

FIX: Queries that use CHANGETABLE use much more CPU after you install SQL Server 2014 SP1 CU6

FIX: A deadlock occurs when you execute a query plan that has a nested loop join between two hash joins working in the batch mode in SQL Server 2014

FIX: Cannot uninstall service packs for SQL Server 2014 after a cumulative update is installed

A memory leak occurs when you use Azure Storage in SQL Server 2014 or 2016

FIX: Access violation when you run a query that uses clustered columnstore index with trace flag 2389, 2390, or 4139

 

SQL Server 2014 SP2 Cumulative Update 3 (Build 12.0.5538), 37 total public hot fixes

FIX: Deadlock causes deferred transaction on the secondary replica in an Always On environment

A memory leak occurs when you use Azure Storage in SQL Server 2014 or 2016

Unexpected growth of tempdb data files when using SQL Server Service Broker

FIX: TDE encrypted Databases go in suspect state during the recovery phase when you restart SQL Server 2012 or 2014

FIX: On failover, the new secondary replica stops accepting transaction log records until the instance is restarted in SQL Server

FIX: An assertion occurs when you restore a clone database that has Query Store enabled in SQL Server 2014

FIX: DBCC CHECKFILEGROUP reports false inconsistency error 5283 on a database that contains a partitioned table in SQL Server

FIX: Availability databases in incorrect initializing/synchronizing state after failover of SQL Server 2014 AlwaysOn availability group

Statistics are removed after rebuilding a specific partition of an partitioned aligned index on a partitioned table in SQL Server

Updates to DBCC CLONEDATABASE functionality in SQL Server 2014

FIX: You cannot select any replica when you fail over from an availability group that’s in the resolving state

FIX: Out-of-memory errors when you execute DBCC CHECKDB on database that contains columnstore indexes in SQL Server 2014

FIX: Rebuilding a nonclustered index to add columns by using CREATE INDEX with DROP_EXISTING=ON and ONLINE=ON causes blocking

FIX: Queries that run against secondary databases always get recompiled in SQL Server

FIX: Distribution Agent fails for a SQL Server 2014 publisher and a SQL Server 2012 subscriber in Transactional Replication

FIX: The Target Recovery Time of a database set to a nonzero value causes an assertion and a lease timeout in SQL Server 2014

FIX: No automatic failover after database mirroring stops unexpectedly in SQL Server 2012 or 2014

FIX: Intra-query deadlock when values are inserted into a partitioned clustered columnstore index in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 4 (Build 12.0.5540), 25 total public hot fixes

FIX: Error 2809 when you execute a stored procedure that takes a table-valued parameter from RPC calls in SQL Server 2014

FIX: Memory is paged out when columnstore index query consumes lots of memory in SQL Server 2014

FIX: A system assert occurs when a Transact-SQL stored procedure with a TVP argument is called from a SQLCLR procedure

FIX: Access Violation when you execute queries on a readable secondary replica of a SQL Server 2014 AlwaysOn Availability Group

FIX: Error 5262 when you execute DBCC CHECKDB on the primary replica that contains repaired data pages in SQL Server 2012 or 2014

FIX: An Always On secondary replica goes into a disconnecting state

FIX: Cannot connect to a named instance after failover on a mirror server in SQL Server 2016 or 2014

FIX: Fails to execute the DBCC CLONEDATABASE command on an in-place upgrade instance of SQL Server

FIX: Incremental statistics runs with higher sample rate than regular statistics when statistics are created or updated in SQL Server 2014

FIX: Incorrect query result when you use varchar(max) variable in the search condition in SQL Server 2014

FIX: Changing the data type and then updating the table with more than 4,000 records causes database corruption

FIX: Memory leak occurs when you run a query that you don’t have enough permissions in SQL Server 2014

FIX: SQL Server is stopped when you install patches on an instance of SQL Server 2014 that contains many databases

 

SQL Server 2014 SP2 Cumulative Update 5 (Build 12.0.5546), 24 total public hot fixes

FIX: Access violation in SQL Server 2014 when large number of rows are inserted into a partitioned columnstore index

FIX: Service Broker endpoint connections aren’t closed after an availability group failover in SQL Server

FIX: Bad query plan created on secondary replicas after statistics updated via FULLSCAN option on primary replica in SQL Server 2012 or 2014

Update improves handling of documents too large for Full-Text Search indexing in SQL Server

FIX: DMV sys.dm_hadr_availability_group_states displays “NOT_HEALTHY” in synchronization_health_desc column on secondary replicas in SQL Server 2012 or 2014

FIX: Failed assertion and many access violation dump files after the sp_replcmds stored procedure is canceled in SQL Server 2012 or 2014

FIX: Many HkHostLogCheckpointRecord() messages are logged in the SQL Server error log

FIX: A memory leak in SQLWEP causes the host process Wmiprvse.exe to crash in SQL Server 2012 or 2014

 

SQL Server 2014 SP2 Cumulative Update 6 (Build 12.0.5553), 29 total public hot fixes

FIX: Change Data Capture stops working after a recent cumulative update for SQL Server is installed

Update adds the “CLR strict security” feature to SQL Server 2016

FIX: Transaction log backup failure on the secondary replica in SQL Server Always-On Availability Groups

FIX: An access violation occurs when you create an index with page compression in SQL Server

FIX: Error when you execute DBCC CLONEDATABASE on an “Always Encrypted” enabled database in SQL Server 2014 or 2016

FIX: Fails to resume a suspended availability database after a write error in SQL Server 2014

FIX: Unable to drop stored procedure execution article from P2P publication in SQL Server 2014

FIX: Timeout error when you backup a large database to URL in SQL Server 2014

FIX: Access violation occurs when you execute a query to retrieve data from a clustered columnstore index in SQL Server 2014

FIX: Error 574 when you try to install Service Pack 2 for SQL Server 2014

FIX: Unable to rebuild the partition online for a table that contains a computed partitioning column in SQL Server 2014 or 2016

FIX: A stored procedure may fail after an automatic failover occurs on a mirrored database in SQL Server 2012 or 2014

FIX: An assertion occurs when you run a query that performs join operations by using MERGE JOIN in SQL Server 2014

FIX: Access violation when a stored procedure is dropped before you execute END TRY section in SQL Server

Fix: System generated stored procedures are created incorrectly in P2P publication if the schema name of published table contains a period (.) in SQL Server 2014

FIX: “FILESTREAM feature is disabled” error when you use the FILESTREAM feature for SQL Server 2014 in Windows 10 Creators Update

FIX: Query with UNION ALL and a row goal may run slower in SQL Server 2014 or later versions when it’s compared to SQL Server 2008 R2

FIX: DBCC CHECKFILEGROUP reports false inconsistency error 5283 on a database that contains a partitioned table in SQL Server

FIX: “Non-yielding Scheduler” condition occurs on spinlock contention in Microsoft SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 7 (Build 12.0.5556), 12 total public hot fixes

FIX: Access violation with query to retrieve data from a clustered columnstore index in SQL Server 2014 or 2016

FIX: “Non-yielding Scheduler” condition occurs for query with many expressions in SQL Server 2014

FIX: Access violation for spatial datatypes query via linked server in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 8 (Build 12.0.5557), 8 total public hot fixes

FIX: Warning and incorrect computed column results after applying hotfix 3213683 and trace flag 176

FIX: “Message 611” error when you use BULK INSERT or INSERT SELECT to insert data into a clustered columnstore index

FIX: Access violation may occur when you cancel a pending query if the missing indexes feature is enabled in SQL Server 2014

FIX: Change tracking manual cleanup fails with table non-existence error in SQL Server 2014 and 2017

 

SQL Server 2014 SP2 Cumulative Update 9 (Build 12.0.5563), 8 total public hot fixes

FIX: SELECT query that uses batch mode hash aggregate operator that counts multiple nullable columns returns incorrect results in SQL Server

FIX: “Invalid comparison due to NO COLLATION” retail assert occurs in SQL Server 2014

FIX: Error when you rebuild a single partition of an index online in SQL Server 2014

FIX: Alert Engine reads complete Application event log and sends alerts on old events after Windows is restarted

FIX: UPDATE statement fails silently when you reference a nonexistent partition function in the WHERE clause in SQL Server 2014

FIX: Access violation when you query against a table that contains column store indexes in SQL Server 2014

FIX: Can’t enable or disable change data capture for a database after you attach it in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 10 (Build 12.0.5571), 5 total public hot fixes

FIX: An access violation error occurs when you execute a stored procedure that references a large object in SQL Server 2014

FIX: Intermittent 9004 error when a backup is restored with Standby Mode in SQL Server 2014

FIX: A REDO thread is not available in the secondary replica after an availability database is dropped in SQL Server 2012 and 2014

FIX: Out of memory error when virtual address space of SQL Server process is very low in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 11 (Build 12.0.5579), 10 total public hot fixes

FIX: EXCEPTION_ACCESS_VIOLATION for query using sys.dm_os_memory_objects statement in SQL Server 2016 or 2017

FIX: It takes a long time to restore a TDE encrypted database backup in SQL Server

FIX: AG failover occurs after a latch time-out when you use SQL Server 2014

FIX: Error 9002 when there is no sufficient disk space for critical log growth in SQL Server 2014 and 2016

FIX: Significantly increased PAGELATCH_EX contentions in sys.sysobjvalues in SQL Server 2014

FIX: SQL Server does not detect a deadlock condition when you run a merge statement

 

SQL Server 2014 SP2 Cumulative Update 12 (Build 12.0.5589), 16 total public hot fixes

FIX: Database can’t be dropped after its storage is disconnected and reconnected in SQL Server

Transaction Log “full” even when there is sufficient space available and Autogrowth is enabled in SQL Server

FIX: A memory leak occurs in sqlwepxxx.dll causes the WmiPrvSe.exe process to crash

FIX: Worker thread hangs after another thread is aborted when running a parallel query in SQL Server

FIX: Access violation occurs when you query a table with an integer column in SQL Server 2017 and SQL Server 2016

SECURITY_CRYPTO_CONTEXT_MUTEX waits cause SQL Server 2016 to stop responding to client requests in SQL Server 2014 and 2016

FIX: Access violation when you try to access a table when page compression is enabled on the table in SQL Server

FIX: Change tracking record is inconsistent during an update on a table that has a clustered or unique index in SQL Server

FIX: A dead latch condition occurs when you run an online index rebuild or a merge command in SQL Server

FIX: “Corrupted index” message and server disconnection when an update statistics query uses hash aggregate on SQL Server

FIX: TDE database goes offline during log flush if you lose connection to the EKM provider in SQL Server

FIX: TDE-enabled backup and restore are slow if the encryption key is stored in an EKM provider in SQL Server

 

SQL Server 2014 SP2 Cumulative Update 13 (Build 12.0.5590), 4 total public hot fixes

FIX: Access violation when you query the sysmembers system table in SQL Server

FIX: Error occurs when you run sp_send_dbmail stored procedure that contains comma in sender email address and name in SQL Server 2014

FIX: Error 3906 when a hotfix is applied on a server that has a SQL Server database snapshot on a pull subscription database

 

SQL Server 2014 SP2 Cumulative Update 14 (Build 12.0.5600), 6 total public hot fixes

FIX: Access violation error occurs when you run a query that uses the XML data type in SQL Server 2014

FIX: Overestimations when you use the default Cardinality Estimator to run a query on a table that contains many null values

FIX: Access violation when you run a query that uses a INSERT INTO … SELECT statement to insert data into a clustered columnstore index

FIX: Incorrect results occur when you convert ‘pollinginterval’ parameter from seconds to hours in sys.sp_cdc_scan in SQL Server 2014 and 2016

FIX: Out of memory error when executing a query on a table that has a large full-text index in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 15 (Build 12.0.5605), 7 total public hot fixes

FIX: Intermittent failures when you back up to Azure storage from SQL Server

FIX: I/O errors on a BPE file causes buffer time out in SQL Server

FIX: Internal error messages when you update a FILESTREAM tombstone system table in SQL Server

FIX: Out of memory error occurs when Database Node Memory (KB) drops below 2% in SQL Server 2014

FIX: Stored procedure output parameter(s) may return incorrectly when called through RPC with PREPARE option in SQL Server 2014

FIX: “Non-yielding” error occurs when there is a heavy use of prepared statements in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 16 (Build 12.0.5626), 3 total public hot fixes

FIX: Assertion occurs when a parallel query deletes from a Filestream table

FIX: Filtered index may be corrupted when you rebuild index in parallel in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 17 (Build 12.0.5632), 3 total public hot fixes

FIX: Fail to join the secondary replica if the database has a defunct filegroup in SQL Server 2014

FIX: Columnstore filter pushdown may return wrong results when there is an overflow in filter expressions in SQL Server 2014

 

SQL Server 2014 SP2 Cumulative Update 18 (Build 12.0.5687), 4 total public hot fixes

FIX: Prolonged non-transactional usage of FileTable without instance restart may cause non-yielding scheduler error or server crash in SQL Server 2014

FIX: Fix prefast warnings (62100) in Sql\Sqlrepl\xpreplclr.net\ReplCmdDataReader.cs to prevent against SQL injection attacks

 

The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).

If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.

On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.

Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.

The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP2 Builds appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2014-sp2-builds/feed/ 2
Performance and Stability Related Fixes in Post-SQL Server 2014 SP1 Builds https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2014-sp1-builds/ https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2014-sp1-builds/#comments Thu, 23 Jul 2015 17:19:41 +0000 http://3.209.169.194/blogs/glenn/?p=966 As of August 8, 2017, there have been thirteen Cumulative Updates (CU) for the Service Pack 1 branch of SQL Server 2014. There have been a large number of hotfixes in each of these cumulative updates. If you are still running on the SQL Server 2014 SP1 branch, I really think you should be running […]

The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP1 Builds appeared first on Glenn Berry.

]]>
As of August 8, 2017, there have been thirteen Cumulative Updates (CU) for the Service Pack 1 branch of SQL Server 2014. There have been a large number of hotfixes in each of these cumulative updates. If you are still running on the SQL Server 2014 SP1 branch, I really think you should be running the latest SQL Server 2014 SP1 Cumulative Update. Right now, that means SP1, CU13 (Build 12.0.4522), which was released on July 17, 2017.

Table 1 shows the SQL Server 2014 SP1 CU builds that have been released so far.

Build Description Release Date
12.0.4416 SP1 CU1 June 19, 2015
12.0.4422 SP1 CU2 August 17, 2015
12.0.4425 SP1 CU3 October 19, 2015
12.0.4436 SP1 CU4 December 21, 2015
12.0.4439 SP1 CU5 February 22, 2016
12.0.4457 SP1 CU6 May 30, 2016
12.0.4459 SP1 CU7 June 20, 2016
12.0.4468 SP1 CU8 August 15, 2016
12.0.4474 SP1 CU9 October 17, 2016
12.0.4491 SP1 CU10 December 19, 2016
12.0.4502 SP1 CU11 February 21, 2017
12.0.4511 SP1 CU12 April 17, 2017
12.0.4522 SP1 CU13 July 17, 2017
     

Table 1: SQL Server 2014 SP1 CU Builds

You can follow the KB article link below to see all of the CU builds for all of SQL Server 2014 branches.

SQL Server 2014 Build Versions

Like I have done for other versions and branches of SQL Server, I decided to scan the hotfix list for all of the Cumulative Updates in the RTM 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 specific SQL Server 2014 features you are using.

Here are the fixes in the SP1 branch:

SQL Server 2014 SP1 Cumulative Update 1 (Build 12.0.4416), 112 total public hot fixes

FIX: Performance issue occurs when you use sqlncli11.dll ODBC driver to access SQL Server in an application

FIX: Improved memory management for columnstore indexes to deliver better query performance in SQL Server 2014

FIX: A SELECT query that’s run as a parallel batch-mode scan triggers a deadlock in SQL Server 2014

FIX: Data loss might occur when you use Windows Azure Storage in SQL Server 2014 on high latency networks

Incorrect values are included in the description column when you query the sys.dm_xe_objects dynamic management object in SQL Server 2014

FIX: Cannot create statistics when you execute statement to create it directly or in the background in SQL Server 2014

FIX: Complex parallel query does not respond in SQL Server 2012 or SQL Server 2014

FIX: An I/O error that occurs on BPE files causes SQL Server 2014 to disable BPE

FIX: Access violation occurs when you connect to an instance of SQL Server 2014

“Non-yielding Scheduler” error occurs and SQL Server stops responding when a database has columnstore indexes on a Microsoft SQL Server 2014 instance

Incorrect results are returned in an indexed view after an Insert or Delete operation on the base table occurs in SQL Server 2014

FIX: Memory leak in USERSTORE_SCHEMAMGR and CPU spikes occur when you use temp table in SQL Server 2012 or 2014

FIX: DBCC CHECKDB and DBCC CHECKTABLE take longer to run when SQL CLR UDTs are involved in SQL Server 2012 or SQL Server 2014

FIX: Access violation occurs when you delete rows from a table that has clustered columnstore index in SQL Server 2014

FIX: Paging out in memory occurs when columnstore index query consumes large memory in SQL Server 2014

FIX: A severe error occurs in SQL Server 2014 during compilation of a query on a table with clustered columnstore index

Large query compilation waits on RESOURCE_SEMAPHORE_QUERY_COMPILE in SQL Server 2014

FIX: Error 1205 when you execute parallel query that contains outer join operators in SQL Server 2014

FIX: The transaction isolation level is reset incorrectly when the SQL Server connection is released in SQL Server 2014

FIX: SOS_CACHESTORE spinlock contention on ad hoc SQL Server plan cache causes high CPU usage in SQL Server 2012 or 2014

FIX: Memory leak occurs when you run DBCC CHECKDB against a database in SQL Server 2014

FIX: Error 8646 when you run DML statements on a table with clustered columnstore index in SQL Server 2014

FIX: SQL Server takes long time to open database after recovery to add or remove a data file in SQL Server 2014 or SQL Server 2012

FIX: Access violation and “No exceptions should be raised by this code” error occur when you use SQL Server 2012 or SQL Server 2014

FIX: Error 3624 occurs when you execute a query that contains multiple bulk insert statements in SQL Server 2014

FIX: Access violation occurs when you query against a table that contains column store indexes in SQL Server 2014

FIX: Incorrect choice of a nested loops join strategy causes poor query performance in SQL Server 2014

FIX: Error 33294 occurs when you alter column types on a table that has clustered columnstore indexes in SQL Server 2014

FIX: Access violation when a missing task for a background clear operation tries to delete a missing index entry

FIX: Error 33415 occurs when you restart the SQL Server service or alter database in SQL Server 2012 or SQL Server 2014

FIX: Error 35377 when you run a parallel query that contains MERGE statements in SQL Server 2014

 

SQL Server 2014 SP1 Cumulative Update 2 (Build 12.0.4422), 44 total public hot fixes

FIX: The Resource database is missing after you install updates or service packs for instances of SQL Server 2012 one after another and then restart the server

FIX: Incorrect result when you execute a full-text query with parallel execution plan in SQL Server 2012 or SQL Server 2014

FIX: CMEMTHREAD waits occur when you execute many ad hoc queries in SQL Server 2012 or SQL Server 2014

FIX: You cannot set a SQL Server 2012 or 2014 database to single-user mode if the database is read-only

FIX: Cannot enable “change data capture” on a table that uses a unique index with more than one included column in SQL Server 2012 or 2014

FIX: Error messages are logged when you execute a non-cacheable auto-parameterized query in SQL Server 2012 or 2014

FIX: Error 1635 occurs when you use Product Update to install SQL Server 2014 SP1 and SQL Server 2014 SP1 CU1

Restore Log with Standby Mode on an Advanced Format disk may cause a 9004 error in SQL Server 2008 R2 or SQL Server 2012

FIX: Increased HADR_SYNC_COMMIT wait types when AlwaysOn Availability Groups contain memory-optimized tables in SQL Server 2014 Service Pack 1

FIX: A stalled dispatcher system dump occurs forcing a failover and service outage on the availability groups in SQL Server 2014 Service Pack 1

FIX: Incorrect results occur in a rare scenario when you run a query that contains a nested loop join and performance spool in its inner side in SQL Server 2012 or 2014

FIX: An AlwaysOn database on a secondary replica shows a “NOT SYNCHRONIZING” status in SQL Server 2014

FIX: “Possible schema corruption. Run DBCC CHECKCATALOG” error occurs when you delete column in SQL Server 2014

FIX: Access violation and unexpected SQL Server shutdown occur when common criteria compliance is enabled

FIX: The change table is ordered incorrectly for updated rows after you enable change data capture for a Microsoft SQL Server 2012 or 2014 database

FIX: A deadlock occurs when you execute the sp_estimate_data_compression_savings stored procedure in SQL Server 2012

FIX: Hash or merge join hints may be ignored when you execute a query in SQL Server 2012 or SQL Server 2014

FIX: An online rebuild of indexes is unsuccessful when a table partition is read-only in SQL Server 2014 Service Pack 1

FIX: Maintenance Plan performs offline index rebuild for large object table in SQL Server 2012 or SQL Server 2014

 

SQL Server 2014 SP1 Cumulative Update 3 (Build 12.0.4425), 36 total public hot fixes

FIX: Can’t backup in-memory OLTP database that is restored by using full and differential restore in SQL Server 2014

FIX: CPU usage is higher than expected when you reduce the value of CAP_CPU_PERCENT argument in creating resource pool

FIX: Scheduler deadlock on primary replica when you remove a replica from an AlwaysOn availability group in SQL Server 2012 or SQL Server 2014

FIX: Rare incorrect result occurs when you run parallel query in SQL Server 2012 or SQL Server 2014

FIX: Error 602 when you run a stored procedure repeatedly in SQL Server 2012 or SQL Server 2014

FIX: Access violations when you use the FileTable feature in SQL Server 2012 or SQL Server 2014

FIX: Queries take longer time to compile in SQL Server 2014 than in earlier versions

FIX: 100% CPU usage occurs when in-memory OLTP database is in recovery state in SQL Server 2014

FIX: Metadata inconsistency error occurs after you switch table partitions and drop corresponding files and filegroups

FIX: DBCC CHECKFILEGROUP reports false inconsistency errors on database that has partitioned table in SQL Server 2014

FIX: It takes longer to run the ALTER DATABASE SET HADR OFF command on a secondary replica in SQL Server 2014

FIX: Error 9002 and error 3052 when you try to add or back up log file in SQL Server 2012 or SQL Server 2014

FIX: Sort operator spills to tempdb in SQL Server 2012 or SQL Server 2014 when estimated number of rows and row size are correct

FIX: Backup operation fails in a SQL Server database after you enable change tracking

FIX: Rare index corruption when you build a columnstore index with parallelism on a partitioned table in SQL Server 2014

FIX: Access violation occurs when you execute a query that contains many joins and coalesce functions in SQL Server 2014

FIX: DBCC CHECKDB doesn’t report metadata inconsistency of invalid filegroups in its summary in SQL Server 2014

FIX: It takes a longer time than earlier versions of SQL Server when you run DBCC CHECKDB in SQL Server 2012

 

SQL Server 2014 SP1 Cumulative Update 4 (Build 12.0.4436), 36 total public hot fixes

FIX: Can’t create database snapshot when you use DBCC CHECKDB in SQL Server 2014

FIX: Memory leak occurs on MEMOBJ_SOSNODE type object when you run query in sys.database_permissions in SQL Server 2014

FIX: Access violation occurs when you update compressed data in SQL Server 2014

FIX: Out of memory error when the virtual address space of the SQL Server process is very low on available memory

FIX: Performance decrease when application with connection pooling frequently connects or disconnects in SQL Server

FIX: SQL Server service performs more I/O operations on the mirror server than on the principal server

FIX: Access violation occurs when you run INSERT, UPDATE or MERGE statement on view with check option in SQL Server 2014

FIX: Log shipping restore job takes a long time on the secondary server in SQL Server 2014

FIX: Query stops responding in SQL Server 2014 that starts with trace flag 2430 as startup parameter

FIX: An access violation occurs when you use the TDE and BPE features in SQL Server 2014

FIX: DBCC CHECKDB/CHECKTABLE command may take longer in SQL Server 2012 or SQL Server 2014

FIX: SQL Server stops responding when you back up the certificate that is used to encrypt the database encryption key in SQL Server 2012 or SQL Server 2014

FIX: The execution of stored procedure is replicated to subscriber incorrectly from Publisher in SQL Server 2014

FIX: The query stops responding when you run a parallel query on the table with a columnstore index in SQL Server 2014

FIX: Temporary files that are created by DBCC aren’t deleted when SQL Server is restarted

 

SQL Server 2014 SP1 Cumulative Update 5 (Build 12.0.4439), 21 total public hot fixes

FIX: Access violation occurs when you use the ODBC Driver11 in SQL Server 2014

An update to enable the “-k” startup parameter to control the rate that work files can spill to tempdb is available for SQL Server 2012 Service Pack 3

FIX: It takes a long time to install service packs or cumulative updates in SQL Server 2014

FIX: Error when you use the replication feature in SQL Server 2014

FIX: Columnstore index corruptions occur when you use AlwaysOn Availability Groups feature in SQL Server 2014

FIX: Assertion failure occurs when you run a query in SQL Server 2014

FIX: An assertion failure occurs on secondary replica when you use AlwaysOn Availability Groups in SQL Server 2014

FIX: “Non-yielding Scheduler” condition when you query a partitioned table that has a columnstore index in SQL Server 2014

FIX: “Non-yielding Scheduler” condition occurs when you run a query that contains a UNION operation in SQL Server 2014

 

SQL Server 2014 SP1 Cumulative Update 6 (Build 12.0.4457), 46 total public hot fixes

FIX: Estimated number of rows is calculated incorrectly for a predicate involving a unique GUID column in SQL Server 2014

FIX: “Non-yielding Scheduler” error when versioning cleanup task runs on a SQL Server 2014 AlwaysOn secondary replica

FIX: Column data may be deleted when you update another column in a table in SQL Server 2012 or SQL Server 2014

FIX: The Log Reader Agent stops intermittently and an Access Violation occurs in SQL Server 2012 or SQL Server 2014

FIX: Assertion failure on secondary replica when you use AlwaysOn Availability Groups in SQL Server 2014

FIX: SELECT INTO statement together with the TABLOCKX hint or the TABLOCK and UPDLOCK hints fail on SQL Server 2014

FIX: Number of rows is underestimated for a query predicate that involves a scalar user-defined function in SQL Server 2014

FIX: Access violation when you execute a stored procedure that uses a cursor on a table variable in SQL Server

FIX: Canceling a backup task crashes SQL Server 2014

FIX: Large disk checkpoint usage occurs for an In-Memory optimized filegroup during heavy non-In-Memory workloads

Running multiple UPDATE STATISTICS for different statistics on a single table concurrently is available

FIX: Columnstore index corruption occurs when you use AlwaysOn Availability Groups in SQL Server 2014

FIX: A “Non-yielding Scheduler” condition occurs when you perform a BULK INSERT and the data file exists in a FileTable in SQL Server 2014

FIX: Memory corruption causes an access violation in an instance of SQL Server 2014

FIX: SELECT…INTO statement retrieves incorrect result from a clustered columnstore index in SQL Server 2014

FIX: “A severe error occurred on the current command” when a Table-Valued User-Defined function is referred to by a synonym

 

SQL Server 2014 SP1 Cumulative Update 7 (Build 12.0.4459), 32 total public hot fixes

FIX: An access violation occurs when you use the TDE and BPE features in SQL Server 2014

FIX: SQLDiag fails with function 87 error in a SQL AlwaysOn availability group

FIX: Incorrect results when you use a LIKE operator and an “ss” wildcard in SQL Server 2014

FIX: High CPU usage on SQL queries after install SQL Server 2014 Service Pack 1

FIX: Change tracking cleanup task fails if another database is offline in SQL Server 2014

SQL Server 2014 doesn’t start after you configure the tempdb database to use a very small log file

FIX: DBCC CHECKTABLE returns incorrect result after the clustered columnstore index is rebuilt in SQL Server 2014

FIX: Assertion failures after you install deprecated Cumulative Update 6 for SQL Server 2014 SP1

FIX: SQL Server 2014 crashes when you execute a query that contains a NONEXISTENT query hint on an In-Memory OLTP database

Query plan generation improvement for some columnstore queries in SQL Server 2014

FIX: “Non-yielding Scheduler” condition occurs when you run a query in SQL Server 2014

FIX: SQL Server database creation on a system with a large volume of memory takes longer than expected

 

SQL Server 2014 SP1 Cumulative Update 8 (Build 12.0.4468), 39 total public hot fixes

FIX: sys.dm_db_index_usage_stats missing information after index rebuild on SQL Server 2012 or 2014

A memory leak occurs when you use Azure Storage in SQL Server 2014

SQL Server 2014 crashes because of an access violation error that occurs while it reads data from an event file target

FIX: Error 1478 when you add a database back to the AlwaysOn availability group in SQL Server

Operating system error 32 when you restore a database in SQL Server 2014

FIX: Deadlock occurs when you acquire a SCH-M lock and ALTER PARTITION in SQL Server 2014

FIX: Queries always get recompiled on the secondary databases in SQL Server 2014

FIX: Garbage collection in In-Memory OLTP may cause “non-yielding scheduler” in SQL Server 2014

FIX: Query runs slowly when SQL Server uses hash aggregate in the query plan

Decrease in performance and “non-yielding scheduler” errors caused by unnecessary spinlocks in SQL Server

FIX: Memory leak on the AlwaysOn secondary replica when change tracking is enabled in SQL Server

Transaction log backup failure on the secondary replica prevents subsequent backups on Availability Replicas in SQL Server

FIX: Error 3456 “Could not redo log record” occurs, causing replicas to be suspended or repeated behavior in SQL Server

 

SQL Server 2014 SP1 Cumulative Update 9 (Build 12.0.4474), 13 total public hot fixes

FIX: Access violation when you run a query that uses clustered columnstore index with trace flag 2389, 2390, or 4139

Statistics removed after rebuilding the index on a partitioned table in SQL Server

FIX: Queries that use CHANGETABLE use much more CPU after you install SQL Server 2014 SP1 CU6

FIX: Cannot uninstall service packs for SQL Server 2014 after a cumulative update is installed

 

SQL Server 2014 SP1 Cumulative Update 10 (Build 12.0.4491), 27 total public hot fixes

SQL Server crashes with an access violation when you use the TRY…CATCH construct for bulk copy

FIX: Incremental statistics runs with higher sample rate than regular statistics when statistics are created or updated in SQL Server 2014

“A digitally signed driver is required” warning when you install SQL Server packages in Windows Server 2016 and Windows 10

FIX: The change table is ordered incorrectly for updated rows after you enable change data capture for a Microsoft SQL Server 2012 or 2014 database

FIX: The Target Recovery Time of a database set to a nonzero value causes an assertion and a lease timeout in SQL Server 2014

FIX: Memory is paged out when columnstore index query consumes lots of memory in SQL Server 2014

FIX: Error 2809 when you execute a stored procedure that takes a table-valued parameter from RPC calls in SQL Server 2014

Unexpected growth of tempdb data files when using SQL Server Service Broker

FIX: Access Violation when you execute queries on a readable secondary replica of a SQL Server 2014 AlwaysOn Availability Group

FIX: TDE encrypted Databases go in suspect state during the recovery phase when you restart SQL Server 2012 or 2014

FIX: Rebuilding a nonclustered index to add columns by using CREATE INDEX with DROP_EXISTING=ON and ONLINE=ON causes blocking

FIX: No automatic failover after database mirroring stops unexpectedly in SQL Server 2012 or 2014

FIX: Out-of-memory errors when you execute DBCC CHECKDB on database that contains columnstore indexes in SQL Server 2014

FIX: Incorrect query result when you use varchar(max) variable in the search condition in SQL Server 2014

FIX: DBCC CHECKFILEGROUP reports false inconsistency error 5283 on a database that contains a partitioned table in SQL Server

 

SQL Server 2014 SP1 Cumulative Update 11 (Build 12.0.4502), 14 total public hot fixes

FIX: An Always On secondary replica goes into a disconnecting state

Update improves handling of documents too large for Full-Text Search indexing in SQL Server 2014

“A digitally signed driver is required” warning when you install SQL Server packages in Windows Server 2016 and Windows 10

FIX: Cannot connect to a named instance after failover on a mirror server in SQL Server 2016

FIX: Error 5262 when you execute DBCC CHECKDB on the primary replica that contains repaired data pages in SQL Server 2012

FIX: AFTER DELETE triggers occur in the wrong order in the ON DELETE CASCADE action chain in SQL Server 2014

FIX: Assert memory dump on a mirror server in SQL Server 2012

FIX: On failover, the new secondary replica stops accepting transaction log records until the instance is restarted in SQL Server

FIX: Changing the data type and then updating the table with more than 4,000 records causes database corruption

 

SQL Server 2014 SP1 Cumulative Update 12 (Build 12.0.4511), 12 total public hot fixes

FIX: A memory leak in SQLWEP causes the host process Wmiprvse.exe to crash in SQL Server 2012 or 2014

FIX: Failed assertion and many access violation dump files after the sp_replcmds stored procedure is canceled in SQL Server 2012 or 2014

FIX: Bad query plan created on secondary replicas after statistics updated via FULLSCAN option on primary replica in SQL Server 2012 or 2014

FIX: DMV sys.dm_hadr_availability_group_states displays “NOT_HEALTHY” in synchronization_health_desc column on secondary replicas in SQL Server 2012 or 2014

Update reduces the execution frequency of the sp_MSsubscription_cleanup stored procedure in SQL Server 2012 or 2014

FIX: Service Broker endpoint connections aren’t closed after an availability group failover in SQL Server

 

SQL Server 2014 SP1 Cumulative Update 13 (Build 12.0.4522), 11 total public hot fixes

FIX: Access violation when a stored procedure is dropped before you execute END TRY section in SQL Server

FIX: Change Data Capture stops working after a recent cumulative update for SQL Server is installed

FIX: A stored procedure may fail after an automatic failover occurs on a mirrored database in SQL Server 2012 or 2014

FIX: Transaction log backup failure on the secondary replica in SQL Server Always-On Availability Groups

Fix: System generated stored procedures are created incorrectly in P2P publication if the schema name of published table contains a period (.) in SQL Server 2014

FIX: Access violation occurs when you execute a query to retrieve data from a clustered columnstore index in SQL Server 2014

 

The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).

If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.

On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.

Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.

The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP1 Builds appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/performance-and-stability-related-fixes-in-post-sql-server-2014-sp1-builds/feed/ 2
Most Recent Cumulative Updates for SQL Server 2008-2014 https://www.sqlskills.com/blogs/glenn/most-recent-cumulative-updates-for-sql-server-2008-2014/ https://www.sqlskills.com/blogs/glenn/most-recent-cumulative-updates-for-sql-server-2008-2014/#comments Thu, 24 Apr 2014 16:09:03 +0000 http://3.209.169.194/blogs/glenn/?p=879 Here are the most recent cumulative updates for SQL Server 2014, 2012, 2008 R2 and 2008 (as of June 27, 2014) SQL Server 2014 RTM CU2 (12.0.2370)           released on June 27, 2014 Microsoft has now released the second cumulative update for SQL Server 2014 RTM, which has 48 hotfixes by my count from the KB […]

The post Most Recent Cumulative Updates for SQL Server 2008-2014 appeared first on Glenn Berry.

]]>
Here are the most recent cumulative updates for SQL Server 2014, 2012, 2008 R2 and 2008 (as of June 27, 2014)

SQL Server 2014 RTM CU2 (12.0.2370)           released on June 27, 2014

Microsoft has now released the second cumulative update for SQL Server 2014 RTM, which has 48 hotfixes by my count from the KB article. These include most of the hotfixes from SQL Server 2012 through SP1 CU10. If you are getting ready to deploy a new SQL Server 2014 instance, I really think you want to be on SQL Server 2014 RTM CU2.

SQL Server 2012 RTM CU11 (11.0.2424)          released on December 16, 2013  (this is the last one for the RTM branch)

SQL Server 2012 SP1 CU10 (11.0.3431)           released on May 19, 2014 (On SQL Server 2012, this is where you want to be, in my opinion)

SQL Server 2012 SP2 RTM (11.0.5058)            released on  June 19, 2014 (I would wait for SQL Server 2012 SP2 CU1 before you move to this branch)

If you are on SQL Server 2012, only Service Pack 1 and Service Pack 2 are still officially a “supported service pack”. The RTM branch is no longer a “supported service pack”.

SQL Server 2008 R2 SP2 CU12 (10.50.4305)     released on April 21, 2014

If you are on SQL Server 2008 R2, only Service Pack 2 is still a “supported service pack”. All other branches are retired.

SQL Server 2008 SP3 CU17 (10.0.5861)           released on May 19, 2014  (this is the final CU for SQL Server 2008 SP3)

If you are on SQL Server 2008, only Service Pack 3 is still a “supported service pack”. All other branches are retired.

For a number of months, I was very curious about whether there would be a SQL Server 2008 SP4 and/or a SQL Server 2008 R2 SP3 before both SQL Server 2008 and 2008 R2 fall out of mainstream support on July 8, 2014?  Especially for people who don’t believe in deploying cumulative updates, the SQL Server 2008 SP3 RTM build and the SQL Server 2008 R2 SP2 RTM build are going to be quite ancient (and missing a lot of very important fixes) by July 8, 2014.

June 2, 2014 Update: On May 29, Microsoft announced that there will be final Service Packs for both SQL Server 2008 and SQL Server 2008 R2, that will be released some time after July 8, 2014. This is very welcome news that I really appreciate!

So, to recap, if you are getting ready to deploy SQL Server 2014, you should install SQL Server 2014 RTM CU2.  If you are on SQL Server 2012, you should be on the SP1 branch by now (even though SP2 is now available). If you are on SQL Server 2008 R2, you should be on the SP2 branch, since SP1 and RTM are retired. If you are on SQL Server 2008, you should be on the SP3 branch, since all previous branches are retired. All of SQL Server 2005 is out of mainstream support, but if you are still on SQL Server 2005, you should be on SP4.

The post Most Recent Cumulative Updates for SQL Server 2008-2014 appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/most-recent-cumulative-updates-for-sql-server-2008-2014/feed/ 4
Most Recent Cumulative Updates for SQL Server https://www.sqlskills.com/blogs/glenn/most-recent-cumulative-updates-for-sql-server/ https://www.sqlskills.com/blogs/glenn/most-recent-cumulative-updates-for-sql-server/#respond Tue, 29 Oct 2013 18:20:42 +0000 http://3.209.169.194/blogs/glenn/?p=852 Here are the most recent cumulative updates for SQL Server 2012, 2008 R2 and 2008. SQL Server 2012 RTM CU10 (11.0.2420)          released on October 21, 2013 SQL Server 2012 SP1 CU6 (11.0.3381)            released on September 16, 2013 If you are on SQL Server 2012, both RTM and Service Pack 1 are still a “supported service […]

The post Most Recent Cumulative Updates for SQL Server appeared first on Glenn Berry.

]]>
Here are the most recent cumulative updates for SQL Server 2012, 2008 R2 and 2008.

SQL Server 2012 RTM CU10 (11.0.2420)          released on October 21, 2013

SQL Server 2012 SP1 CU6 (11.0.3381)            released on September 16, 2013

If you are on SQL Server 2012, both RTM and Service Pack 1 are still a “supported service pack”, but this will change pretty soon. I am also wondering roughly when SQL Server 2012 SP2 is going to be released.  In the past, we have often seen public CTPs for SPs, but so far, I have not heard of one for SQL Server 2012 SP2. Despite this, I am thinking it should be pretty soon, probably before the end of 2013.

I do think that the SQL Server 2012 code base has settled down quite a bit, since we are not typically seeing 40-50 hotfixes in every single CU. There were only four hot fixes in SQL Server 2012 RTM CU10, so that reinforces my opinion that SQL Server 2012 SP1 CU6 is where you should be now, especially since the RTM branch will be retired pretty soon. I really hope that Microsoft will choose to get the SQL Server 2012 SP1 and SP2 branches synchronized as far as CU release dates go.

In my fantasy world, here is what would happen for SQL Server 2012:

“SQL Server 2012 SP2 RTM is released on November 5, 2013, and then SQL Server 2012 SP1 CU7 and SQL Server 2012 SP2 CU1 are both released on November 19, 2013. This allows people to move to the SP2 branch and not be behind or out of synch with the SP1 branch.”

 

SQL Server 2008 R2 SP2 CU9 (10.50.4295)      released on October 28, 2013

If you are on SQL Server 2008 R2, only Service Pack 2 is still a “supported service pack”. All other branches are retired.

 

SQL Server 2008 SP3 CU13 (10.0.5846)          released on September 16, 2013

If you are on SQL Server 2008, only Service Pack 3 is still a “supported service pack”. All other branches are retired.

I am still curious about whether there will be a SQL Server 2008 SP4 and/or a SQL Server 2008 R2 SP3 before both SQL Server 2008 and 2008 R2 fall out of mainstream support on July 8, 2014?  Especially for people who don’t believe in deploying cumulative updates, the SQL Server 2008 SP3 RTM build and the SQL Server 2008 R2 SP2 RTM build are going to be quite ancient (and missing a lot of important fixes) by next July.

So, to recap, if you are on SQL Server 2012, you should be on the SP1 branch by now (even though RTM is still supported). If you are on SQL Server 2008 R2, you should be on the SP2 branch, since SP1 and RTM are retired. If you are on SQL Server 2008, you should be on the SP3 branch, since all previous branches are retired. All of SQL Server 2005 is out of mainstream support, but if you are still on SQL Server 2005, you should be on SP4.

The post Most Recent Cumulative Updates for SQL Server appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/most-recent-cumulative-updates-for-sql-server/feed/ 0
Performance Related Fixes in Post-SQL Server 2008 R2 Service Pack 1 Builds https://www.sqlskills.com/blogs/glenn/performance-related-fixes-in-post-sql-server-2008-r2-service-pack-1-builds/ https://www.sqlskills.com/blogs/glenn/performance-related-fixes-in-post-sql-server-2008-r2-service-pack-1-builds/#comments Thu, 06 Dec 2012 13:41:07 +0000 /blogs/glenn/post/Performance-Related-Fixes-in-Post-SQL-Server-2008-R2-Service-Pack-1-Builds.aspx As you may be aware if you have been reading my blogs or books over the years, I am a pretty strong advocate of staying current with both SQL Server Service Packs and SQL Server Cumulative Updates. This is also something that SQLskills recommends on our customer engagements. Despite this, it is still quite common […]

The post Performance Related Fixes in Post-SQL Server 2008 R2 Service Pack 1 Builds appeared first on Glenn Berry.

]]>
As you may be aware if you have been reading my blogs or books over the years, I am a pretty strong advocate of staying current with both SQL Server Service Packs and SQL Server Cumulative Updates. This is also something that SQLskills recommends on our customer engagements. Despite this, it is still quite common to see people running very old builds of the major version of SQL Server that they are using. They might be running a SQL Server build that is 12, 18, or 24 months old. It might be so old that it is unsupported by Microsoft, because it is considered to be an “unsupported service pack”, meaning that Microsoft CSS will only provide limited troubleshooting support until you upgrade to a supported service pack.

As Microsoft releases new Service Packs for SQL Server, they eventually “retire” previous branches of code for that particular major release of SQL Server. When a new major version of SQL Server (such as SQL Server 2008 R2) is released, that initial build (which is what comes on the installation media unless you have built a slipstream installation) is called the release-to-manufacturing (RTM) build. Eight weeks after the RTM build, Microsoft will release a rollup of hot fixes called a Cumulative Update (CU). A SQL Server CU typically has anywhere from about ten to fifty hotfixes. Cumulative Updates are not fully regression tested like a full Service Pack is, but I have had very good luck with Cumulate Updates over the years.  The first CU for the SQL Server 2008 RTM branch was called SQL Server 2008 RTM CU1. Every eight weeks after that, Microsoft will release another CU for that RTM branch.

Eventually, Microsoft will release Service Pack 1 for that major version of SQL Server, which starts another separate release branch of the product. Eight weeks after that, the first CU for that new Service Pack will be released. So for example, you would have SQL Server 2008 R2 SP1 RTM, and then eight weeks later, you would have SQL Server 2008 R2 SP1 CU1.  Eventually, Microsoft will release Service Pack 2 for that major Version of SQL Server, which starts another separate release branch of the product. When SP2 is released, the original RTM release branch is retired, and the entire RTM release branch becomes an “unsupported service pack”, regardless of what RTM CU you have installed. That means you will have to upgrade to SP1 or SP2 to be on a supported service pack.

As a database professional, you need to be aware of how this servicing system works, and what exact build of SQL Server that you are running on your various servers. Then you can make more informed decisions on when you want to plan, test, and implement SQL Server updates (whether you use only Service Packs or both SPs and Cumulative Updates), so that your servers are on a fully supported build of SQL Server. I also firmly believe that you will have fewer problems over time if you make a concerted effort to stay on a current build. Going through the planning and testing effort required to install a Service Pack or Cumulative Update on a production server is a good exercise for you and your organization.  It exercises your testing plan and your HA procedures, and it gives you more experience rolling out updates.

I recently was asked for some specific reasons why someone should upgrade from SQL Server 2008 R2 SP1 RTM (10.50.2500) to SQL Server 2008 R2 SP2 CU3 (10.50.4266). I decided to look through the Knowledge Base (KB) articles for every single Cumulative Update released after SQL Server 2008 R2 SP1 RTM was released, looking for specific hotfixes that seemed to affect database engine performance or basic reliability. I went from SQL Server 2008 R2 SP1 CU1 through CU7, then I jumped to SQL Server 2008 R2 SP2 CU2 and then finally to SQL Server 2008 R2 SP2 CU3. I did it this way to avoid overlap between the two branches.

You can look at the KB article list for each Service Pack to put together your own list of “important” fixes based on what features of SQL Server you are using, using the links below:

Microsoft SQL Server 2008 R2 Cumulative Update KB Article Lists

The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released

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

The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 2 was released

 

Here are all of the Cumulative Updates that I looked at, with the relevant fixes listed for each one. Keep in mind that Cumulative Updates are actually cumulative, meaning that a later CU will include all of the hotfixes from all of the previous cumulative updates.  In this scenario, SQL Server 2008 R2 SP1 CU5 is synchronized with SQL Server 2008 R2 SP2  RTM, which is why I jump from SP1 CU7 to SP2 CU2.

SQL Server 2008 R2 SP1 CU1  (10.50.2769.0)

FIX: A query that uses the DATEDIFF function may run slowly in SQL Server 2005 or in SQL Server 2008 or in SQL Server 2008 R2

SQL Server 2008 R2 SP1 CU2 (10.50.2772.0)

FIX: Recovery takes longer than expected for a database in a SQL Server 2008 or in a SQL Server 2008 R2 environment

SQL Server 2008 R2 SP1 CU3  (10.50.2789.0)

FIX: Size of a data file that is committed by online page compression is larger than that is committed by offline page compression in SQL Server 2008 or in SQL Server 2008 R2

SQL Server 2008 R2 SP1 CU4  (10.50.2796.0)

FIX: ghost_record_count values keep increasing in SQL Server 2008 R2

FIX: It takes a long time to restore a database in SQL Server 2008 R2

SQL Server 2008 R2 SP1 CU5  (10.50.2806.0)

FIX: Low CPU spikes at a set interval even without user activity in SQL Server 2008 R2

FIX: Poor performance when you run a query that contains correlated AND predicates in SQL Server 2008 or in SQL Server 2008 R2

FIX: Slow performance occurs in SQL Server 2008 R2 if high CPU usage is observed with contention over the QUERY_EXEC_STATS spinlock

SQL Server 2008 R2 SP1 CU6  (10.50.2811.0)

FIX: Errors when client application sends an attention signal to SQL Server 2008 or SQL Server 2008 R2

FIX: Performance of a SELECT statement that contains a LIKE operator and an ESCAPE clause is low in SQL Server 2008 R2

SQL Server 2008 R2 SP1 CU7  (10.50.2817.0)

FIX: SQL Server 2008 R2 stops responding and a “Non-yielding Scheduler” error is logged

SQL Server 2008 R2 SP2 CU2  (10.50.4263.0)

FIX: Incorrect results are returned when you run a query that uses parallelism in the query execution plan in SQL Server 2008, in SQL Server 2008 R2 or in SQL Server 2012

SQL Server 2008 R2 SP2 CU3  (10.50.4266.0)

FIX: You receive error messages when you perform a population for a large full-text index in SQL Server 2008 or in SQL Server 2008 R2

FIX: SQL Server Agent logs verbose logs in the Application log when you start a failover cluster instance in SQL Server 2012 or in SQL Server 2008 R2

FIX: High CPU usage when you query a binary large object column by using the NOLOCK hint in SQL Server 2008 R2

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

The post Performance Related Fixes in Post-SQL Server 2008 R2 Service Pack 1 Builds appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/performance-related-fixes-in-post-sql-server-2008-r2-service-pack-1-builds/feed/ 4
How to Obtain and Install SQL Server Service Packs and Cumulative Updates https://www.sqlskills.com/blogs/glenn/how-to-obtain-and-install-sql-server-service-packs-and-cumulative-updates/ https://www.sqlskills.com/blogs/glenn/how-to-obtain-and-install-sql-server-service-packs-and-cumulative-updates/#comments Tue, 19 Jun 2012 18:38:43 +0000 /blogs/glenn/post/How-to-Obtain-and-Install-SQL-Server-Service-Packs-and-Cumulative-Updates.aspx If you are in charge of one or more SQL Server instances, whether they are on your laptop, or a large Production data center, you should be aware of how SQL Server updates and fixes are released, and how you can obtain them from Microsoft. First, a few definitions: RTM means Release to Manufacturing. It […]

The post How to Obtain and Install SQL Server Service Packs and Cumulative Updates appeared first on Glenn Berry.

]]>
If you are in charge of one or more SQL Server instances, whether they are on your laptop, or a large Production data center, you should be aware of how SQL Server updates and fixes are released, and how you can obtain them from Microsoft.

First, a few definitions:

RTM means Release to Manufacturing. It is the original, released build version of the product, i.e. what you get on the DVD or when you download the iso file from MSDN.

A Hotfix is designed to fix a single issue, usually after a case has been escalated through Microsoft CSS to the SQL Server Product Team.

A Cumulative Update is a cumulative package of hotfixes (usually 20-40) that also includes all previous cumulative updates for that Service Pack. Cumulative Updates are not fully regression tested. Cumulative Updates are released every eight weeks.

A Service Pack is a much larger collection of hotfixes that have been fully regression tested. Service Packs are typically released every 12-18 months.

When you first install a shiny new copy of SQL Server 2012 (or an earlier version of SQL Server) from the DVD that came with the box, what you have is the RTM build of that major version of SQL Server. Depending on how long ago that major version of SQL Server was released, that build of SQL Server that you just installed could be years old. I often run into production instances of SQL Server that are still running the RTM build of a particular major version of SQL Server, which in my opinion is both lazy and irresponsible. If you don’t do something about it, you could be on an “Unsupported Service Pack”, which means that you will only get limited troubleshooting support from Microsoft if you ever need to open a support case with Microsoft CSS. You are also more likely to run into issues that were fixed after the product went RTM.

Hotfixes don’t get added to SQL Server on a whim, they are only added after working with CSS and the Product Team, and convincing them that the issue that is prompting the hotfix is important enough to actually fix and release. Cumulative Updates are a collection of hotfixes over the previous eight weeks. When you look at the list of fixes for each Cumulative Update, you can determine whether they seem to address any issues that you have been experiencing in your environment. Then you can decide whether to go through the pain of getting them tested and installed. You can download Service Packs directly from Microsoft without making any special requests. Service Packs are cumulative, so you can go directly from RTM to SP4 without installing any intervening Service Packs. If you have Microsoft Update (which is a superset of Windows Update) installed on your machine, it will offer up SQL Server Service Packs as updates, but I prefer to obtain and install them myself.

Some organizations have a policy of only testing and deploying Service Packs (which Microsoft sometimes calls Public Cumulative Updates (PCU)), deciding to ignore any regular Cumulative Updates that are released between Service Packs. They argue that only Service Packs are fully regression tested by Microsoft, and that they don’t have the resources to test and certify Cumulative Updates with their applications and environments. They also argue that third party software vendors have not certified these Cumulative Updates for their products, which is another reason to skip them. Personally, I am against this approach. As I said before, you should look at the fix list for each Cumulative Update when it is released, and make the determination whether you need to install that CU. Generally speaking, I am biased towards trying to stay current on my Service Packs and CUs. Going through the functional testing of your applications for a Service Pack or Cumulative Update and periodically exercising your HA solution (you do have an HA solution) is a good exercise.

At any rate, how do you find out about these Cumulative Updates? One way is to read my blog or follow me on Twitter, since I am pretty good about finding them, and announcing them to the world. Fellow SQL Server MVP Aaron Bertrand (blog|twitter) also does a good job of spreading the word. You can also check the Microsoft SQL Server Release Services blog, and the SQL Server Solution Center.

Once you know that a CU for your major version and Service Pack of SQL Server has been released, you need to find the Knowledge Base (KB) article that lists the fixes and has the link where you can “View and request hotfix downloads”. Here is the KB for SQL Server 2012 RTM CU2. In the top left portion of the KB page, you will see the “View and request hotfix downloads” link.

Once you follow that link, you need to click on the “Show hotfixes for all platforms and languages” link in the center of the page. Otherwise, you will only see the hotfixes for the platform (x86, x64, or ia64) that you are running on the computer where your browser is running, which is probably your laptop or workstation. After you choose the correct packages (which can be confusing), you must provide a valid e-mail address, and fill in the CAPTCHA information. A few minutes after that, you will get an e-mail with a link to download a zip file with the Cumulative Update setup program. I always immediately unzip the file and save it in a directory structure like you see in Figure 1 (with further subdirectories for x86 and x64), so I don’t get confused later about which CU I am dealing with.

image

Figure 1: SQL Server 2012 Update Directories

Finally, after jumping through these small hoops, you are ready to install it on a test instance (which could be a virtual machine) just to make sure that the setup program works, and does not seem to break SQL Server. After this initial smoke test, you should do additional installs and further, more involved testing before you eventually deploy it to your Production environment during a scheduled maintenance window.

When it is time to deploy a CU in Production, you are looking at an outage of some duration, no matter what you do. At a minimum, the CU setup program will stop and start the SQL Server Service, and it could be stopped for several minutes while the CU installation is running. Sometimes, the CU setup program will want a reboot after it finishes, depending on what SQL Server components you are running. Making sure you are not running a local copy of SSMS on the instance that is being patched will help minimize the chance of a reboot. If you don’t have any high availability solution (such as AlwaysOn availability groups, database mirroring or fail-over clustering) in place, this outage could last anywhere from 5 to 20 minutes, which is kind of bad…

If you do have an HA solution in place, you can do a “rolling upgrade” where you upgrade the Witness, then the Mirror, and then the Principal (for mirroring) or each node in turn (with fail-over clustering), where you can install a CU with a couple of sub minute outages. Using database mirroring, my outages are typically 10-15 seconds for each failover for this type of maintenance.

The post How to Obtain and Install SQL Server Service Packs and Cumulative Updates appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/how-to-obtain-and-install-sql-server-service-packs-and-cumulative-updates/feed/ 1