On March 20, 2017, Microsoft released SQL Server 2016 Service Pack 1 CU2, which is Build 13.0.4422.0. This CU has 101 fixes in the public fix list, by my count. This is a pretty large CU, and if you look at the fix list in more detail, many of them are for pretty significant issues with AGs, columnstore indexes, and general performance.

Here are many of the more interesting Engine fixes:

FIX: Incremental statistics runs with higher sample rate than regular statistics when statistics are created or updated in SQL Server 2014 or 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: “Non-yielding Scheduler” condition when you parallel-load data into a columnstore index in SQL Server 2016

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

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

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

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

FIX: Memory is paged out when columnstore index query consumes lots of memory 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: Significantly increased PAGELATCH_EX contentions in sys.sysobjvalues in SQL Server 2016

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

 

If you are running SQL Server 2016, you should be on the Service Pack 1 branch as soon as possible. If you are on the SP1 branch, then you should make an effort to be on the latest Cumulative Update as soon as you are able to complete the planning, testing and deployment process. Nearly a year ago, Microsoft changed their guidance about deploying CUs. Since then, Microsoft recommends ongoing, proactive installation of CUs as they become available.