KB4052908 - SQL Server 2016 Service Pack 2 release information

Release Date:   April 24, 2018
Version:   13.0.5026.0

This article contains important information to read before you install Microsoft SQL Server 2016 Service Pack 2 (SP2). It describes how to get the service pack, the list of fixes that are included in the service pack, known issues, and a list of copyright attributions for the product.


This article serves as a single source of information to locate all documentation that's related to this service pack. It includes all the information that you previously found in the release notes and Readme.txt files.

List of fixes included in SQL Server 2016 SP2

Microsoft SQL Server 2016 service packs are cumulative updates. SQL Server 2016 SP2 upgrades all editions and service levels of SQL Server 2016 to SQL Server 2016 SP2. In addition to the fixes that are listed in this article, SQL Server 2016 SP2 includes hotfixes that were included in SQL Server 2016 Cumulative Update 1 (CU1) to SQL Server 2016 SP1 CU8.

For more information about the cumulative updates that are available in SQL Server 2016, see SQL Server 2016 build versions.


  • Additional fixes that aren't documented here may also be included in the service pack.
  • This list will be updated when more articles are released.

For more information about the bugs that are fixed in SQL Server 2016 SP2, go to the following Microsoft Knowledge Base articles.

Bug reference Description
3507192 Optimizer row goal information in query execution plan added in SQL Server 2017 CU3 and SQL Server 2016 SP2 (KB4051361)
5660983 Update adds new columns to SYS.DM_EXEC_QUERY_STATS DMV in SQL Server 2016 SP2 (KB4051358)
8742052 Improvement: General improvements to the change tracking cleanup process in SQL Server 2016 and 2017 (KB4054842)
9443219 Update to add a new column to DMV sys.dm_sql_referenced_entities in SQL Server 2016 SP2 (KB4038418)
9824203 Improves the Distribution Agent cleanup procedure to increase the transactional replication performance in SQL Server 2016 (KB4092069)
9956170 Update adds the "CLR strict security" feature to SQL Server 2016 (KB4018930)
10385772 Improve tempdb spill diagnostics in DMV and Extended Events in SQL Server 2017 and SQL Server 2016 SP2 (KB4041814)
10696815 Update adds CPU timeout setting to Resource Governor workgroup REQUEST_MAX_CPU_TIME_SEC in SQL Server 2016 and 2017 (KB4038419)
10726760 Update for manual change tracking cleanup procedure in SQL Server 2016 and 2017 (KB4052129)
10727775 Update adds support for MAXDOP option for CREATE STATISTICS and UPDATE STATISTICS statements in SQL Server 2016 and 2017 (KB4041809)
10732726 Improve query performance on a partitioned table in SQL Server 2016 SP2 (KB4052137)
10871974 Unified Showplan Schema for SQL Server starting in SQL Server 2012 SP4 and SQL Server 2016 SP2 (KB4016949)
11555288 Better intra-query parallelism deadlocks troubleshooting in SQL Server 2017 and 2016 (KB4089473)
11578523 Improvement: Performance issue when upgrading MDS from SQL Server 2012 to 2016 (KB4089718)
6884989 FIX: Automatic update of incremental statistics is delayed in SQL Server 2016 and 2017 (KB4041811)
7990665 "The log backup chain is broken" error when the log backup process fails in SQL Server (KB3162858)
8025121 FIX: Copy Database Wizard fails when a table contains a sparse column set in SQL Server (KB3157575)
8846046 FIX: LogPool cache MEMORYCLERK_SQLLOGPOOL consumes more memory when you do online transactions in SQL Server 2016 SP1 Express Edition (KB4046909)
9191595 FIX: LSN truncation occurs in AG when disabling the change data capture feature in SQL Server 2016 (KB4092045)
9912272 FIX: Execution stats of scalar user-defined function is added to Showplan XML file in SQL Server 2016 SP2 (KB4051360)
10065114 FIX: Access violation occurs when a query references an SQLCLR function through a synonym in SQL Server 2016 (KB3136496)
10077001 FIX: Parallel queries are slower when they're run with high DOP in SQL Server 2016 (KB4052138)
10456101 FIX: Add CXPACKET wait type in showplan XML in SQL Server 2016 and 2017 (KB4046914)
10571989 FIX: The SQL Server 2016 setup page contains nonsecure tool-download links (KB4046885)
10697582 FIX: SQL Server Profiler fails to obfuscate sp_setapprole when it's executed from a remote procedure call in SQL Server (KB4014756)
10704351 FIX: The tempdb system database (sys.databases) is still encrypted even though all other databases on the instance of SQL Server aren't encrypted (KB4042788)
10727149 FIX: Memory grant that's required to run optimized nested loop join isn't reflected in Showplan XML in SQL Server (KB3170116)
10817173 FIX: Indirect checkpoints on tempdb database cause "Non-yielding scheduler" error in SQL Server 2016 or 2017 (KB4040276)
10871961 FIX: Decreased performance and long waits for CLR_AUTO_EVENT and CMEMTHREAD when SQLCLR UDT is used as a stored procedure parameter for a SQL RPC call (KB4013128)
10871968 FIX: Access violation when you create or configure an Always On availability group for an availability database in SQL Server 2012 and 2016 (KB4021243)
10871976 FIX: Service Broker endpoint connections aren't closed after an availability group failover in SQL Server (KB4016361)
10872004 FIX: "sp_special_columns" returns incorrect result in SQL Server 2016 (KB4056008)
10914360 FIX: Deadlock occurs on single-user mode database when many connections access it simultaneously in SQL Server 2016 (KB4042415)
10932023 FIX: Change tracking manual cleanup fails with table non-existence error in SQL Server (KB4043624)
10937127 FIX: SQL Server runs out of memory when table-valued parameters are captured in Extended Events sessions in SQL Server 2016 even if collecting statement or data stream isn't enabled (KB4051359)
10973046 FIX: Execution fails when a SQL CLR function invokes Transact-SQL statements through impersonation calls in SQL Server 2016 and 2017 (KB4046918)
11032173 FIX: Memory dumps generated for "Stalled IOCP Listener" and "non-yielding IOCP listener" after SQL Server restart (KB4048942)
11086264 FIX: SQL Server Audit Events fail to write to the security log (KB4052136)
11454650 FIX: QRY_PROFILE_LIST_MUTEX is blocked when TF 7412 is enabled in SQL Server 2016 (KB4089239)
11523867 FIX: It takes a long time to roll back a batch that updates a large amount of data in SQL Server 2016 (KB4090279)
11542281 FIX: CXPACKET and CXCONSUMER wait types show inconsistent results for some parallel query plans in SQL Server 2016 and 2017 (KB4057054)
12519464 FIX: Access violation exception occurs during Query Optimization of a query that accesses a table with Filtered Indexes or Statistics (KB4475794)
9653457 Update enables XML Showplans to provide a list of statistics used during query optimization in SQL Server 2016 and 2017 (KB4041817)
10895916 Improvement: Adds Service Broker support for DBCC CLONEDATABASE in SQL Server 2016 (KB4092075)
9832539 FIX: TRY…CATCH block rolls back too many transactions in some in-memory OLTP error handling scenarios in SQL Server 2016 (KB4039846)
10288012 FIX: Can't restart SQL Server 2016 after you use ALTER DATABASE ADD FILE or ADD LOG commands to add files with the same logical name (KB4092046)
10761398 FIX: "TempDB file size exceeds 1024 MB" error when you try to set the initial size for a TempDB file to a value greater than 1024 MB (KB4046902)
11032146 FIX: Thread pool exhaustion and CMEMTHREAD contention in AAG with data seeding in SQL Server 2016 and 2017 (KB4045795)
11334467 FIX: Boolean values not localized correctly in the parameters pane of a report in SSRS 2016 (SharePoint mode) (KB4075158)
11543252 FIX: Replication isn't enabled when database collation uses '_SC' collation extension in SQL Server 2016 and 2017 (KB4092066)
11566335 FIX: Access Violation when you use QDS and specify a query plan to resolve a performance regression (KB4089509)

Additional resolutions

Resolutions to the following issues are also included in SQL Server 2016 SP2.

Bug reference Description Area
8523231 Adds durable memory-optimized tables that can have foreign key reference to nondurable memory-optimized tables. In-Memory OLTP
9146914 Adds the SpLevel and ReleaseProductVersion properties to SQL Server 2016 SP1. Setup & Install
10365365 Fixes an issue by installing a SQL Server security update on the passive node in a customized cluster. Setup & Install
9480942 Fixes an issue to avoid null reference in GetNextAllHoBts. SQL Engine
9737945 Adds a DVM sys.dm_tran_version_store_space_usage that can track the tempdb version store usage in each database. SQL Engine
9742982 Fixes an issue in which the plan cache memory usage is high when the MAXDOP is set to 1. SQL Engine
10698782 Adds a new DMV sys.dm_db_log_stats that returns summary level attributes and information about transaction log files of databases. SQL Engine
10698786 Adds a new DMV sys.dm_db_log_info that returns the Virtual Log File (VLF) information about the transaction log files. SQL Engine
10698823 Exposes the percentage of differential changes in the databases to help determine whether full database backup or differential backup is useful. SQL Engine
10698846 Adds a new DMV sys.dm_tran_version_store_space_usage that returns a table to display total space in tempdb used by version store records for each database. SQL Engine
10698847 Fixes an issue in which restoring a compressed backup for a Transparent Data Encryption (TDE) enabled database through the Virtual Device Interface (VDI) interface may fail with the operating system error 38. SQL Engine
10755072 Adds the filegroup support to the SELECT INTO statement. This allows you to specify the name of the filegroup in which a new table will be created. The filegroup specified should exist on the database else the SQL Server engine throws an error. SQL Engine
10756412 Adds the WITH VERIFY_CLONE option and the WITH BACKUP_CLONE option to the DBCC CLONEDATABASE management command that allows you to verify and back up cloned databases. SQL Engine
10760480 Exposes the processor information such as core count, sockets, and NUMA information in DMV sys.dm_server_services and the SERVERPROPERTY function. SQL Engine
10823015 Improves the backup performance on computers that have large memory. SQL Engine
10914366 Adds a database name attribute in the process-list and executionStack in the extended event xml_deadlock_report to expose the database name. SQL Engine
10925573 Adds a new extended event marked_transaction_latch_trace that shows the state of the global latches that are used by marked transactions. SQL Engine
10973764 Improves the Distributed Transaction Coordinators (DTC) service support for AlwaysOn availability groups (AG) databases. SQL Engine
11559743 Fixes an issue in which you're unable to run the ADDNODE step when the Polybase feature is installed in ScaleOut deployment mode. SQL Engine
11565681 Exposes the last-known good DBCC CHECKDB date and time for a database. SQL Engine
11583626 Fixes an issue by removing a node from a failover cluster that has Polybase installed. SQL Engine
8837822 Fixes an issue in which the DMV sys.dm_exec_query_profiles shows an incorrect result that's inconsistent with the estimated or actual query plan. SQL Performance
9437530 Fixes the memory grant usage (InputMemoryGrant, OutputMemoryGrant and UsedMemoryGrant properties) in Showplan XML for parallel queries. SQL Performance
10697461 Fixes an issue in which the MAX_GRANT_PERCENT query hint isn't always being respected. SQL Performance
10723493 Fixes an issue in which an assertion error might occur when you query the DMV sys.dm_db_stats_histogram if the TIMESTAMP column contains values. SQL Performance

For more information about how to upgrade your SQL Server installation to SQL Server 2016 SP2, see Supported version and edition upgrades.

How to get SQL Server 2016 SP2

SQL Server 2016 SP2, Microsoft SQL Server 2016 SP2 Express, and Microsoft SQL Server 2016 SP2 Feature Pack are available for manual download and installation at the following Microsoft Download Center websites.


After you install the service pack, the SQL Server service version should be 13.0.5026.0 Microsoft SQL Server 2016 service packs are cumulative updates. SQL Server 2016 SP2 upgrades all editions and service levels of SQL Server 2016 to SQL Server 2016 SP2.

If, for any reason, you choose to uninstall SQL Server 2016 SP2, the uninstallation of SQL Server 2016 SP2 will not be blocked, and you will be able to uninstall SQL Server 2016 SP2 in the same manner as any other service packs. However, if you are running the Standard, Web, or Express edition of SQL Server, and you are using some new features that are unlocked only when you start SQL Server 2016 SP2, you might experience errors or see databases left in a suspect state after the uninstallation of SQL Server 2016 SP2. Even worse, if the system databases are using new features (for example, partitioned tables in master databases), this could prevent SQL Server instances from starting after you uninstall SQL Server 2016 SP2.

We recommend that you verify that all the new features are disabled or dropped before you choose to uninstall SQL Server 2016 SP2 on editions other than the Enterprise edition. You can't drop the memory_optimized_data filegroup. Therefore, if you have set up the memory_optimized_data filegroup on your database with SP2, you should not uninstall SQL Server 2016 SP2. Otherwise, the database will get into a suspect state, and the following entry will be logged in the error log:

<DateTime> spid15s Error: 41381, Severity: 21, State: 1.
<DateTime> spid15s The database cannot be started in this edition of SQL Server because it contains a MEMORY_OPTIMIZED_DATA filegroup. See Books Online for more details on feature support in different SQL Server editions.

  • This product contains software derived from the Xerox Secure Hash Function.

  • This product includes software from the zlib general purpose compression library.

  • Parts of this software are based in part on the work of RSA Data Security, Inc. Because Microsoft has included the RSA Data Security, Inc., software in this product, Microsoft is required to include the text below that accompanied such software:

    • Copyright 1990, RSA Data Security, Inc. All rights reserved.
    • License to copy and use this software is granted provided that it's identified as the "RSA Data Security, Inc., MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc., MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work.
    • RSA Data Security, Inc., makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It's provided "as is" without express or implied warranty of any kind.

    These notices must be retained in any copies of any part of this documentation or software.

  • The Reporting Services mapping feature uses data from TIGER/Line Shapefiles that are provided courtesy of the United States Census Bureau. TIGER/Line Shapefiles are an extract of selected geographic and cartographic information from the Census MAF/TIGER database. TIGER/Line Shapefiles are available without charge from the United States Census Bureau. To get more information about the TIGER/Line shapefiles, go to TIGER/Line shapefiles. The boundary information in the TIGER/Line Shapefiles is for statistical data collection and tabulation purposes only; its depiction and designation for statistical purposes doesn't constitute a determination of jurisdictional authority, rights of ownership, or entitlement, and doesn't reflect legal land descriptions. Census TIGER and TIGER/Line are registered trademarks of the United States Census Bureau.

Copyright 2012 Microsoft. All rights reserved.


For more information about how to determine the current SQL Server version and edition, select the following article number to go to the article in the Microsoft Knowledge Base:

321185 How to identify your SQL Server version and edition

The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.