sqlskills-logo-2015-white.png

Performance and Stability Related Fixes in Post-SQL Server 2016 SP1 Builds

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”.

Leave a Reply

Your email address will not be published. Required fields are marked *

Other articles

Imagine feeling confident enough to handle whatever your database throws at you.

With training and consulting from SQLskills, you’ll be able to solve big problems, elevate your team’s capacity, and take control of your data career.