sqlskills-logo-2015-white.png

Performance and Stability Fixes in SQL Server 2017 CU Builds

As of December 9, 2019, there have been eighteen Cumulative Updates (CU) for SQL Server 2017. There have been a large number of hotfixes in each of these cumulative updates. If you are running on SQL Server 2017, I really think you should be running the latest SQL Server 2017 Cumulative Update as soon as you can test and deploy it. Remember, there are not going to be any Service Packs for SQL Server 2017, so you are going to want to get in the habit of testing and deploying SQL Server 2017 Cumulative Updates as they become available.

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

SQL Server 2017 Build Versions

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

Here are the fixes, by Cumulative Update, for SQL Server 2017:

SQL Server 2017 Cumulative Update 1 (Build 14.0.3006.16), 71 total public hot fixes

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

FIX: Portability and performance differ between Windows and Linux scheduler mappings in SQL Server 2017

FIX: A divide-by-zero error occurs when a parallel query is forced to run in a serial mode in SQL Server 2017

FIX: Remote instance of SQL Server crashes while executing a stored procedure that bulk loads an incomplete data file into a temporary table

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

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

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

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

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

FIX: Memory corruption occurs during availability group failovers for DTC transactions in SQL Server 2017

FIX: FORCE_LAST_GOOD_PLAN recommendation is stuck in “Verifying” state upon first verification in SQL Server 2017

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

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 or 2017

FIX: SQL Server Managed Backup does not delete old backups that are beyond the retention period in SQL Server 2014 or 2017

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

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 or 2017

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

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

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

FIX: Error occurs on passing memory-optimized table into inline table-valued function when called from stored procedure in SQL Server 2017

FIX: SQL Server 2017 reports that all transactions are completed even though some transactions encounter failures while trying to commit

FIX: An assertion error occurs within minutes or hours after you create a snapshot backup for a database that contains memory-optimized tables in SQL Server 2017

FIX: A deadlock condition occurs when you create a new database in SQL Server 2017

Update to enable SQL Server 2017 Express edition to act as a witness role in a database mirroring session

FIX: Automatic tuning settings cannot be configured on ModelDB in SQL Server 2017

Update to enable the new dynamic management views and functions in SQL Server 2017

Enhancement: New keyword is added to CREATE and UPDATE STATISTICS statements to persist sampling rate for future statistics updates in SQL Server

 

SQL Server 2017 Cumulative Update 2 (Build 14.0.3008.27), 33 total public hot fixes

Update for manual change tracking cleanup procedure in SQL Server 2017

Update adds a new extended event “marked_transaction_latch_trace” in SQL Server 2017 on Linux and Windows

Performance improvement for Spatial Intermediate Filter in SQL Server 2017

FIX: Excessive PREMPTIVE_OS_CREATEDIRECTORY waits during a workload that compiles or recompiles memory-optimized tables or table-types

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

FIX: Error when you backup database with memory-optimized tables in SQL Server 2017

FIX: “sys.dm_exec_query_profiles” DMV returns wrong “estimate_row_count” in SQL Server 2017 on Linux and Windows

FIX: Deadlock when multiple PREDICT T-SQL functions run concurrently

FIX: Using ALTER TABLE on an in-memory optimized table crashes SQL Server 2017

FIX: SQL Server 2017 cannot decrypt data encrypted by earlier versions of SQL Server by using the same symmetric key

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

FIX: ForceLastGoodPlan recommendation state is falsely reported as Expired if it is applied manually in SQL Server 2017

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

FIX: A parallel query execution plan that contains a “merge join” operator takes longer to execute in Cumulative Update 3, 4 or 5 for SQL Server 2016 Service Pack 1

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

FIX: Fatal error when a natively compiled stored procedure is executed to access memory-optimized tables in SQL Server 2017

FIX: Error 213 when you merge or split a partition of a partitioned graph table in SQL Server 2017 on Linux or Windows

FIX: Error 8624 when you execute a query that contains a SELECT DISTINCT statement on a graph column in SQL Server 2017 on Linux or Windows

Improvement: General improvements to the change tracking cleanup process in SQL Server 2017

 

SQL Server 2017 Cumulative Update 3 (Build 14.0.3015.40), 16 total public hot fixes

FIX: Automatic update of incremental statistics is delayed in SQL Server 2017

Update adds CPU timeout setting to Resource Governor workgroup REQUEST_MAX_CPU_TIME_SEC in SQL Server 2017

Update adds support for MAXDOP option for CREATE STATISTICS and UPDATE STATISTICS statements in SQL Server 2017

Improve tempdb spill diagnostics in DMV and Extended Events in SQL Server 2017

Update enables XML Showplans to provide a list of statistics used during query optimization in SQL Server 2017

FIX: Add CXPACKET wait type in showplan XML in SQL Server 2017

FIX: Mirroring session stops synchronizing after doing rolling upgrade to SQL Server 2017

FIX: In-memory database restore fails with errors in SQL Server 2016 and SQL Server 2017

Update adds execution statistics of a scalar-valued, user-defined function to the Showplan XML file in SQL Server 2017

Update adds optimizer row goal information in query execution plans in SQL Server 2017Update adds optimizer row goal information in query execution plans in SQL Server 2017

 

SQL Server 2017 Cumulative Update 4 (Build 14.0.3022.16), 55 total public hot fixes

FIX: Processing XML message through Service Broker results in hung session in SQL Server 2016 and 2017

FIX: CXPACKET and CXCONSUMER wait types show inconsistent results for some parallel query plans in SQL Server 2017

FIX: In-Memory databases in an Availability Group hang during recovery in SQL Server 2017

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

FIX- Many consecutive transactions inserting data into temp table in SQL Server 2016 and 2017 co

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

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

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

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

Improvement: Improves the performance of SQL Server 2017 on smaller systems

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

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

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

FIX: Access violation occurs on primary replica of AlwaysOn Availability Group in SQL Server

FIX: Memory dumps generated for “Stalled IOCP Listener” and “non-yielding IOCP listener” after SQL Server restart

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

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

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

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

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

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

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

 

SQL Server 2017 Cumulative Update 5 (Build 14.0.3023.8), 18 total public hot fixes

FIX: SQL Server stops responding when you remove the availability group listener or change their port number

FIX: Very large PAGELATCH_EX contentions occur when you drop temporary objects in SQL Server

Better intra-query parallelism deadlocks troubleshooting in SQL Server 2017

FIX: Hekaton database takes long time to recover in SQL Server 2017 on Linux

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

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

FIX: Pacemaker promotes an unsynchronized replica to primary when you use AlwaysOn AG in SQL Server 2017 on Linux

FIX: Access violation occurs when Query Store collects runtime statistics in SQL Server 2017

FIX: Errors 1921 and 1750 when you create a node or edge table in database that has binary collation in SQL Server 2017

FIX: Heavy tempdb contention occurs in SQL Server 2016 or 2017

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

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

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

 

SQL Server 2017 Cumulative Update 6 (Build 14.0.3025.34), 38 total public hot fixes

Latch timeout on Secondary Replica, Deadlock Between Readonly Query

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

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

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

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

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

FIX: Errors occur when you upgrade to SQL Server 2017 CU4 or later and not enable SQL Server Agent on Linux

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: Assertion error when data is bulk-inserted into a table that contains non-clustered and clustered columnstore indexes in SQL Server 2016 and 2017

FIX: “Access Violation” error when you execute a complex query with multiple joins and the Adaptive Join feature is enabled in SQL Server

FIX: Assert in “HadrRefcountedObject::Release” when you configure a replica for manual seeding mode in SQL Server

FIX: Automatic seeding fails when you use an Always On availability group in SQL Server

Improves the query performance when an optimized bitmap filter is applied to a query plan 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

Improvement: Enable “forced flush” mechanism in SQL Server 2017 on Linux

 

SQL Server 2017 Cumulative Update 7 (Build 14.0.3026.27), 28 total public hot fixes 

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

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

FIX: SQL Server will not start when you run a SQL Server 2017 Linux container image on Docker for Windows

PFS page round robin algorithm improvement in SQL Server 2016

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

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

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

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

FIX: An unexpected communication link error occurs when using datetime2 fields accessing a database in SQL Server 2017

FIX: “Non-yielding” error when you try to recover an In-Memory database in SQL Server

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

 

SQL Server 2017 Cumulative Update 8 (Build 14.0.3029.16), 34 total public hot fixes 

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

FIX: Database recovery could hang if it contains in-memory objects and a recovery failure is encountered during a race condition in SQL Server 2017

FIX: RESTORE HEADERONLY statement for a TDE compressed backup slow to complete in SQL Server

FIX: Access violation when you run a nested select query against a columnstore index in SQL Server

FIX: An assertion error may occur when you query dm_db_stats_histogram DMF in SQL Server 2017

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

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

FIX: Parallel query hangs when a worker thread is aborted in an instance of SQL Server

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

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

FIX: Memory leak after dropping an LOB or off-row column from a memory-optimized table in SQL Server on Linux

FIX: CASE expressions return incorrect results in SQL Server

FIX: SQL Server crashes and then restarts when the “Adaptive join” option is enabled

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

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

 

SQL Server 2017 Cumulative Update 9 (Build 14.0.3030.27), 18 total public hot fixes 

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

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

FIX: A split brain scenario occurs after a failover when using AlwaysOn availability groups with external cluster technology in SQL Server 2017

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

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

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

FIX: Parallel redo does not work after you disable Trace Flag 3459 in an instance of 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

 

SQL Server 2017 Cumulative Update 10 (Build 14.0.3037.1), 22 total public hot fixes 

Improvement: Update to support QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n in USE HINT option in SQL Server 2017

FIX: MEMORYCLERK_SOSMEMMANAGER grows larger and FAIL_PAGE_ALLOCATION error is logged after you enable large page allocations

Improvement enables CREATE AVAILABILITY GROUP and ALTER AVAILABILITY GROUP DDLs to set the SESSION_TIMEOUT for a configuration-only replica in SQL Server

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

FIX: Slow performance in SQL Server 2017 when you run a query that contains HASHBYTES function when compared to SQL Server 2016

FIX: A value set for the “Accepted NTLM SPNs” variable causes an access violation during startup of SQL Server 2017

FIX: Errors 3212 and 3013 occur when you back up a database in AlwaysOn Availability Groups in SQL Server 2017

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

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

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

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

FIX: Change Tracking cleanup messages unexpectedly recorded in error log for 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 and 2017

 

SQL Server 2017 Cumulative Update 11 (Build 14.0.3030.27), 14 total public hot fixes 

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

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

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

FIX: Synchronization fails when you stop primary replica and failover a secondary replica to primary in Read-Scale AG in SQL Server 2017

Update adds lightweight query profiling hint in SQL Server 2016

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

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

FIX: A dump file is generated when you run DBCC CHECKDB on a database that has tables with clustered columnstore index in SQL Server 2017

 

SQL Server 2017 Cumulative Update 12 (Build 14.0.3045.24), 18 total public hot fixes

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

FIX: “Encryption not supported on the client” error when a SQL Server 2017 linked server query fails

FIX: An intra-query deadlock occurs in a query containing UNION ALL in batch mode in SQL Server

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

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

FIX: Rebuilding an Index with Resumable Online Index Rebuild can result in a fragmented index in SQL Server 2017

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

Update disables trace flag 2467 at session level to prevent a performance issue for parallel queries in SQL Server 2017

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

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

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

FIX: Could not find server database when the file name contains a period in SQL Server 2017

 

SQL Server 2017 Cumulative Update 13 (Build 14.0.3048.4), 50 total public hot fixes

FIX: QRY_PROFILE_LIST_MUTEX is blocked when TF 7412 is enabled in SQL Server 2016 and 2017

VC++ 2015 Redistributable installation returns error 1638 when newer version already installed

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

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

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

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: Error 41317 when you enable server audit and you use in-memory transactions in SQL Server

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

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 and 2017

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

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

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 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,2016 and 2017

FIX: “3414” and “9003” errors and a .pmm log file grows large in SQL Server 2016 and 2017

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

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

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

FIX: Assertion error occurs during restore of compressed backups in SQL Server 2014, 2016 and 2017

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

FIX: Log message displays “N/A” when using ring buffer target to hold extended event data in memory in SQL Server

FIX: DBCC CHECKDB on master database fails with error 2570 when Common Criteria Compliance is enabled in SQL Server 2017

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

FIX: Primary replica databases display “NOT SYNCHRONIZING” status when all replicas in AG use synchronous commit availability mode in SQL Server 2017

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

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

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

FIX: A dump file may be generated when you run the DML internal plan on Query Store enabled database in SQL Server 2017

FIX: Access violation when you query by using “sys.dm_db_tuning_recommendations” in SQL Server

FIX: Error occurs when you run a query that includes a Boolean field against PolyBase external tables in SQL Server 2017

FIX: Error 18204 during automatic backup in virtual machines when the backup file is split into multiple files

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

 

SQL Server 2017 Cumulative Update 14 (Build 14.0.3076.1), 34 total public hot fixes

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

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

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

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

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 and 2017

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

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: Upgrade to SQL Server 2016 SP2 CU3 or CU4 fails with an error when sysadmin account “sa” is renamed in SQL Server 2016 and 2017

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

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

FIX: Access violation occurs when automatic statistics update happen on tables with incremental statistics in SQL Server 2017

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

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

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

Improvement: Add a new extended event query_post_execution_plan_profile in SQL Server 2017

FIX: TCP Timeout or login time-out error occurs when you connect to SQL Server 2017 using Integrated Authentication

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 in SQL Server 2016 and 2017

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

FIX: Truncation error when TF 460 is enabled and you use INSERT INTO table variable in ELSE block in SQL Server 2017

 

SQL Server 2017 Cumulative Update 15 (Build 14.0.3162.1), 44 total public hot fixes

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

FIX: ‘MSrepl_agent_jobs’ does not exist when you run sp_addpullsubscription_agent to create pull subscription in SQL Server 2016 and 2017

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

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

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

FIX: Restoring backup to SQL Server 2016 and 2017 from SQL Server 2008 or 2008 R2 takes a long time

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

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

FIX: FileTable database level directory is inaccessible after database startup in SQL Server 2016 and 2017

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

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

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

FIX: Access violation occurs when you run a batch-mode query with UNION statement in SQL Server 2017

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

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

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

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

FIX: Access Violation occurs due to corruption of compressed Showplan.xml file in SQL Server 2017

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

Improvement: Improve CDC supportability and usability with In-Memory Databases

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

FIX: Interleaved execution on MSTVFs by using memory-optimized tables causes floating point exception in SQL Server 2017

FIX: CPU and elapsed time reported by query_plan_profile and query_post_execuion_plan_profile xEvents are not accurate in SQL Server 2017

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

FIX: SQL Server 2017 crashes due to stack overflow when you try to back up database master to disk

FIX: SQL Server 2016 and 2017 do 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 and 2017

FIX: Query takes long time if you enable Batch Mode Adaptive Join in SQL Server 2017

FIX: SQL Server generates core dump with “Failed to monitor external signals” in SQL Server 2017

FIX: Referential integrity constraints are not evaluated correctly when query execution plan uses Foreign Key Reference Check operator in SQL Server 2016 and 2017

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

FIX: Dynamic Data Masking does not function as expected in SQL Server 2017

FIX: SQLCLR function takes a longer time to run the query in CU 14 than RTM of SQL Server 2017

 

SQL Server 2017 Cumulative Update 16 (Build 14.0.3223.3), 39 total public hot fixes

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

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

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

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

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

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

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

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

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

FIX: “sys.fn_hadr_backup_is_preferred_replica(database)” query fails for WSFC type in SQL Server 2017

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

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: Resolving state occurs when an assertion occurs in SQL Server 2017

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

FIX: Access violation occurs when you insert LOB data in Clustered Columnstore Index in SQL Server 2017

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

FIX: Extended event sql_statement_post_compile does not populate object_name field in SQL Server 2017

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

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: Internal thread deadlock may occur on primary or secondary replica of availability group in SQL Server 2016 SP2 and 2017

 

SQL Server 2017 Cumulative Update 17 (Build 14.0.3238.1), 34 total public hot fixes

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

FIX: Error 41162 occurs when the creation of distributed availability groups fails in SQL Server 2016 and 2017

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

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

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

FIX: sys.fn_hadr_backup_is_preferred_replica causes error 41005 in SQL Server 2017

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

FIX: Error occurs when a non-dbo user alters procedure in SQL Server 2017 database that has Merge Publication enabled

FIX: Assertion error occurs when SQL Server 2016 and 2017 use 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 and 2017

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: Error 9003 occurs when you back up a database on a secondary replica in Microsoft SQL Server 2016 and 2017

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

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

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

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

FIX: Error 35262 with Severity 17 occurs when database is part of an Availability Group in SQL Server 2017

FIX: Assertion occurs when you fail over Read-Scale AlwaysOn Availability Groups in SQL Server 2017

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

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

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

FIX: Error 8965 occurs when you run DBCC CHECKDB with PHYSICAL_ONLY option on CCI table in SQL Server 2017

FIX: Non-yielding scheduler error occurs when you run batch query with sort operation in SQL Server 2017

 

SQL Server 2017 Cumulative Update 18 (Build 14.0.3257.3), 28 total public hot fixes

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

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

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

FIX: Orphaned CLR sessions cause blocking in SQL Server

FIX: Access violation error occurs when you try to insert results of stored procedure into a table with dynamic data masking in SQL Server 2016 and 2017

FIX: Exception error 3628 may occur when you run store 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: “A system assertion check has failed” error when a procedure call is made from CLR with an OUTPUT large object argument

FIX: You may receive incorrect object_id after you switch a partition in SQL Server 2017

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

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: “The File location cannot be opened” error occurs when you try to open a FileTable directory in SQL Server

FIX: Error 18456 occurs when you run DMV queries on the SQL Server 2017 instance after rebuilding system databases

FIX: An access violation may occur when the optimizer uses an Adaptive Join in SQL Server 2017

FIX: Symmetric key encryption takes longer time in SQL Server 2017 than in SQL Server 2012

 

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


 

One thought on “Performance and Stability Fixes in SQL Server 2017 CU Builds

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.