As of November 28, 2017, there have been two 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.
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
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”.