SQL Server 2016 SP1: Cumulative Update 4 (KB4024305) Now Available

Table of Contents

SQL Server 2016 SP1: Cumulative Update 4

Microsoft has announced the release of Cumulative Update 4 (CU4) for SQL Server 2016 Service Pack 1 (SP1). This update, which carries the build number 13.0.4446.0, is a significant package containing a collection of fixes and improvements that have been developed and rigorously tested since the initial release of SQL Server 2016 SP1. This CU is designed to enhance the stability, reliability, and performance of your SQL Server 2016 SP1 instances. It addresses a range of issues reported by users and identified internally, spanning various components and functionalities of SQL Server.

Key Details of Cumulative Update 4

This cumulative update is identified by Knowledge Base article number KB4024305. It was officially released on August 8, 2017, and is version 13.0.4446.0. It’s important to note that CU4 was also released concurrently as a SQL Server Security Bulletin, specifically KB4019095, addressing CVE-2017-8516. Due to this dual release, it is possible that some users may have already installed CU4 as part of applying the security bulletin. Therefore, attempting to install CU4 again after applying the security bulletin might result in a message indicating that no SQL Server instances or shared features can be updated, as the update is already in place.

A point of clarification regarding the package name for CU4 is necessary. The executable file, named “SQLServer2016SP1-KB4024305-\.exe”, incorporates the KB number associated with the security bulletin (4019095) rather than the CU4 KB number (4024305). This is intentional and should be disregarded as the single package effectively services both release channels. Users downloading and installing this package will receive the intended Cumulative Update 4, regardless of the KB number present in the filename.

Improvements and Fixes Included in This Update

Cumulative Update 4 for SQL Server 2016 SP1 brings a substantial number of fixes across various areas of SQL Server. These fixes are crucial for maintaining a healthy and efficient SQL Server environment. The issues addressed in this CU range from functional bugs to performance bottlenecks, ensuring a more robust and streamlined experience for SQL Server users. Below is a detailed breakdown of the fixes included in CU4, categorized by the affected SQL Server component.

Analysis Services

This cumulative update includes a significant number of fixes for SQL Server Analysis Services (SSAS), indicating a strong focus on improving the stability and reliability of this component.

  • Bug #9876036: Addresses an issue where dimension security settings were incorrectly ignored by Power BI Desktop when connected to SQL Server Analysis Services Multidimensional models. This fix ensures that dimension security is properly enforced, maintaining data access control as intended.
  • Bug #10049124: Resolves a problem in SQL Server Analysis Service proactive caching. Previously, proactive caching might process a partition without running an SQL query, leading to stale data being presented to users. This fix ensures that proactive caching processes are correctly synchronized with the underlying data source.
  • Bug #10049128: Rectifies a crash in SSAS that could occur when executing an MDX query that involved parent-child dimensions in SQL Server 2014 or 2016. This fix enhances the stability of SSAS when handling complex MDX queries against parent-child dimension structures.
  • Bug #10106167: Prevents SSAS crashes that could arise when accessing .vmp files in SQL Server 2016. This fix improves the robustness of SSAS when interacting with virtual memory paging files.
  • Bug #10162127: Improves the performance of Process Update operations on SSAS databases in SQL Server 2016. Previously, these operations could take an excessively long time. This fix optimizes the processing, leading to faster database updates.
  • Bug #10296144: Resolves an issue where Security Bulletin MS16-136 caused the SSRS data source type in PowerPivot to break in SQL Server 2016. This fix ensures compatibility between security updates and PowerPivot data sources.
  • Bug #10331381: Addresses crashes in SSAS 2016 Tabular mode when running DAX or MDX queries. This fix enhances the stability of SSAS when processing analytical queries in tabular mode.
  • Bug #10017583: Corrects incorrect results from MDX queries in SSAS 2016 in scenarios where a table attribute cross-joins with the same attribute in a table hierarchy. This fix ensures accurate MDX query results in complex data models.
  • Bug #10052301: Prevents SSAS crashes when a measure is added that refers to null values in Power BI. This fix improves the handling of null values in measures within Power BI and SSAS integration.
  • Bug #10195260: Resolves SSAS crashes that could occur when a numeric calculated column must change its encoding scheme during the ProcessRecalc phase. This fix enhances the robustness of calculated column processing in SSAS.
  • Bug #10867554: Fixes a crash in a remote instance of SQL Server while executing a stored procedure that bulk loads an incomplete data file into a temporary table. This fix improves the stability of remote bulk load operations.

Data Quality Services (DQS)

  • Bug #10087679: Addresses a performance issue in SQL Server 2016 Master Data Services (MDS). Expanding the Entities folder on the Manage Groups page could take an extended period. This fix optimizes the performance of this operation in MDS.

High Availability

Several fixes in this CU target improvements in SQL Server High Availability features, ensuring better reliability and smoother operations for Always On Availability Groups and database mirroring.

  • Bug #10018470: Resolves an issue where databases on a secondary replica would show a “NOT SYNCHRONIZING” status after a failover in SQL Server 2016 Always On Availability Groups. This fix ensures correct synchronization status reporting after failovers.
  • Bug #10029657: Addresses transaction log backup failures on secondary replicas in SQL Server Always-On Availability Groups. This fix enhances the reliability of log backups in high availability environments.
  • Bug #10029684: Prevents stored procedure failures that could occur after an automatic failover on a mirrored database in SQL Server. This fix improves the resilience of stored procedures in database mirroring scenarios.

In-Memory OLTP

  • Bug #10200392: Resolves a “Non-yielding Scheduler” condition that could occur when changing the BUCKET_COUNT value for large memory-optimized tables in Microsoft SQL Server 2016. This fix enhances the stability when managing memory-optimized tables.
  • Bug #10280055: Addresses a memory leak issue that could occur when using memory-optimized tables in Microsoft SQL Server 2016 Standard edition. This fix improves memory management when utilizing In-Memory OLTP features.

Integration Services

  • Bug #10048666: Fixes deadlock situations in the SSISDB database when running multiple SSIS packages concurrently in SQL Server 2014 or 2016. This fix improves concurrency and reduces deadlocks in SSIS package execution.

Reporting Services

SQL Server Reporting Services (SSRS) receives a number of fixes in CU4, focusing on report rendering, SharePoint integration, and overall stability.

  • Bug #9874233: This entry refers to Cumulative Update 2 for SQL Server 2016 SP1 (KB4013106), which is likely an error in the original listing, or a reference to a previous fix related to Reporting Services. It’s important to verify the context of this reference.
  • Bug #9879793: Resolves an issue where SharePoint sites containing the Report Viewer Web Part would fail to load after upgrading from SharePoint 2013 to 2016 in SSRS 2016. This fix ensures compatibility of the Report Viewer Web Part after SharePoint upgrades.
  • Bug #9953962: Fixes an “Error occurred during rendering” issue when exporting a report as a PowerPoint presentation in SQL Server 2016 Reporting Services. This fix ensures successful report export to PowerPoint format.
  • Bug #10022111: Addresses a cast error that could occur when opening a local mode report in SharePoint Integrated mode in SSRS 2016. This fix improves report rendering in SharePoint integrated mode.
  • Bug #10185322: Resolves an issue where blank spaces would appear in the parameter area when opening an SSRS report containing Hidden or Internal parameters in SQL Server 2016. This fix ensures proper parameter area rendering in reports.
  • Bug #10193902: Fixes a problem where search results were not highlighted in SSRS 2016 reports in SharePoint Integrated Mode. This fix improves the usability of search functionality within SSRS reports in SharePoint.

SQL Engine

  • Bug #9991435: Addresses an assertion failure (“File: <"sharedxactstate.cpp">, line=480 Failed Assertion = ‘pnasxal->FOwnedByXact()’“) that could occur during bulk insert of an incorrect file. This fix improves the robustness of bulk insert operations.

SQL Performance

Several fixes are dedicated to enhancing SQL Server performance in various scenarios.

  • Bug #10018554: Corrects incorrect results returned by parallel query execution for merge join operations in SQL Server 2016. This fix ensures the accuracy of parallel query execution with merge joins.
  • Bug #10049113: Fixes an issue in the Dynamic Management Function (DMF) sys.dm_db_incremental_stats_properties, where it would not show all partitions if the partitioning column was set to a character or binary data type. This fix ensures complete partition information is displayed by the DMF.
  • Bug #10067711: Prevents SQL Server 2016 from stopping responding when the “Latch_Suspend_End” extended event is incorrectly triggered. This fix enhances the stability of SQL Server under certain extended event conditions.
  • Bug #10107258: Improves the performance of queries with UNION ALL and a row goal. Previously, such queries might run slower in SQL Server 2014 or later versions compared to SQL Server 2008 R2. This fix optimizes the performance of these types of queries.
  • Bug #10143390: Resolves an access violation error that could occur when updating a partitioned table containing PERSISTED computed columns in SQL Server 2016. This fix improves the stability of updates on partitioned tables with computed columns.

SQL Security

  • Bug #9919215: Ensures consistent results from the SUSER_SNAME function between SQL Server 2014 and SQL Server 2016. This fix addresses inconsistencies in security function behavior across different SQL Server versions.
  • Bug #10167609: Prevents data masks on floating-point columns from being unexpectedly removed in SQL Server 2016. This fix maintains data masking integrity for floating-point data types.

SQL Service

A significant number of fixes are categorized under SQL Service, addressing a wide array of issues related to core SQL Server functionality and stability.

  • Bug #9704947: Introduces an enhancement by adding a new keyword to CREATE and UPDATE STATISTICS statements to persist sampling rate for future statistics updates in SQL Server 2016. This enhancement provides more control over statistics updates.
  • Bug #9882162: Adds the “CLR strict security” feature to SQL Server 2016 through this update. This feature enhances the security of Common Language Runtime (CLR) integration in SQL Server.
  • Bug #9983975: Corrects an issue where system-generated stored procedures were created incorrectly in Peer-to-Peer (P2P) publication if the schema name of the published table contained a period (.) in SQL Server 2014 or 2016. This fix ensures correct stored procedure generation in P2P replication.
  • Bug #9995483: Fixes an “Incorrect syntax” error that could occur when adding a subscription using the sp_addpullsubscription_agent stored procedure in SQL Server. This fix resolves syntax errors in subscription management.
  • Bug #10015190: Resolves an issue where Change Data Capture (CDC) would stop working after installing a recent cumulative update for SQL Server. This fix ensures the continued operation of CDC after applying updates.
  • Bug #10033530: Prevents an access violation error that could occur when creating an index with page compression in SQL Server. This fix improves the stability of index creation with compression.
  • Bug #10049134: Ensures compatibility with TLS 1.2 for SQL Server 2014 or 2016 Backup to Microsoft Azure Blob storage service URLs. This fix enables secure backups to Azure Blob Storage using TLS 1.2.
  • Bug #10067693: Resolves a deadlock issue that could occur when using the sys.column_store_row_groups and sys.dm_db_column_store_row_group_physical_stats DMVs with large DDL operations in SQL Server 2016. This fix reduces deadlocks during DDL operations involving columnstore indexes.
  • Bug #10099394 (Two entries with the same bug number): Both entries address issues related to the FILESTREAM feature. One fix addresses a “FILESTREAM feature is disabled” error when using FILESTREAM for SQL Server 2014 or 2016 in Windows 10 Creators Update. The other fix indicates that the FILESTREAM feature in SQL Server is disabled after installing Windows 10 Creators Update. These fixes ensure the proper functioning of the FILESTREAM feature after Windows 10 updates.
  • Bug #10162582: Prevents an assertion error on a secondary replica when resuming a suspended availability database in SQL Server 2016. This fix improves the stability of availability groups during database resume operations.
  • Bug #10205059: Resolves an issue where truncating a partition of a partitioned table would fail if it contained an extended or XML index in SQL Server 2016. This fix allows partition truncation even with extended or XML indexes.
  • Bug #10242542: Fixes an access violation error that could occur with queries retrieving data from a clustered columnstore index in SQL Server 2014 or 2016. This fix enhances the stability of queries against clustered columnstore indexes.
  • Bug #10268790: Resolves restore failures when performing backups using compression and checksum on a Transparent Data Encryption (TDE)-enabled database in SQL Server 2016. This fix ensures successful restores of TDE-enabled databases with compressed and checksummed backups.
  • Bug #10273869: Prevents an “EXCEPTION_INVALID_CRT_PARAMETER” error with the BULK INSERT statement in SQL Server 2016. This fix improves the robustness of BULK INSERT operations.
  • Bug #10352073: Fixes a failure to compress backup files when the INIT and COMPRESSION options are used in a TDE-enabled database in SQL Server 2016. This fix ensures backup compression works correctly with TDE and INIT options.
  • Bug #10375276: Prevents an access violation error that could occur when executing a query in SQL Server 2016. This fix enhances general query execution stability.
  • Bug #9313605: Fixes an assertion failure when backing up large TDE encrypted databases in SQL Server. This fix improves the reliability of backups for large TDE-encrypted databases.

XML

  • Bug #10029671: Resolves an issue where the System Center Configuration Manager replication process using BCP APIs would fail when there was a large value in an XML column. This fix ensures successful replication with large XML values.

Download Information

Cumulative Update 4 is available for download from the Microsoft Download Center. You can obtain the latest cumulative update package for SQL Server 2016 SP1 by visiting the following link:

Download the latest cumulative update package for SQL Server 2016 SP1 now

If the download page is not accessible, you are advised to contact Microsoft Customer Service and Support to acquire the cumulative update package.

Cumulative Update Information

Cumulative Updates are now the primary method for distributing fixes for SQL Server. Microsoft releases CUs regularly, and they are available through the Microsoft Download Center. It is important to understand the nature and recommendations surrounding CUs to effectively manage your SQL Server environment.

  • Comprehensive Fix Packages: Each new CU is comprehensive, incorporating all the fixes that were included in previous CUs for the specific SQL Server version and Service Pack. This means that applying the latest CU will bring your system up-to-date with all previously released fixes.
  • Proactive Installation Recommended: Microsoft strongly recommends a proactive and ongoing approach to installing CUs as they become available. This is a best practice to ensure your SQL Server instances benefit from the latest improvements and bug fixes.
  • Service Pack Level Certification: SQL Server CUs undergo rigorous certification processes, reaching the same levels of quality and reliability as Service Packs. They should be installed with the same level of confidence as applying a Service Pack.
  • Addressing Common Support Issues: Historical data analysis reveals that a significant portion of support cases reported by users relate to issues that have already been resolved in a released CU. Installing CUs can proactively prevent encountering known problems and reduce the need for support interventions.
  • Value Beyond Hotfixes: CUs are not limited to just bug fixes. They often include added value features, such as enhancements to supportability, manageability, and overall reliability of SQL Server.
  • Pre-Production Testing: Similar to SQL Server Service Packs, it is highly recommended to thoroughly test CUs in non-production environments before deploying them to production systems. This allows for verification of compatibility and ensures a smooth update process.
  • Upgrade to Latest Service Pack: Microsoft also recommends upgrading your SQL Server installation to the latest available Service Pack for SQL Server 2016. Service Packs represent a more comprehensive update baseline and provide a solid foundation for applying subsequent CUs.

Hybrid Environments Deployment

Deploying hotfixes, including Cumulative Updates, in hybrid environments such as Always On Availability Groups, replication setups, clusters, and mirroring configurations requires careful planning. Microsoft recommends consulting specific articles before applying these updates in such environments to ensure a smooth and uninterrupted update process.

Refer to the following articles for guidance on deploying hotfixes in hybrid environments:

Language Support

SQL Server Cumulative Updates are designed to be multilingual. This means that a single cumulative update package is not specific to a single language but applies to all supported languages of SQL Server. Therefore, the CU4 package is applicable regardless of the language version of SQL Server 2016 SP1 you are using.

The download page for the cumulative update package will display the languages for which the update package is available. If your specific language is not listed, it indicates that a language-specific package is not required, and the English (ENU) download is applicable to all languages.

Components Updated

A single cumulative update package includes updates for all components of SQL Server. However, during the installation process, the CU package intelligently updates only those components that are actually installed on the specific system where the update is being applied. This ensures that only necessary components are updated, minimizing the update footprint and time.

Support for This Update

While Cumulative Update 4 is designed to resolve specific issues and improve overall stability, encountering unforeseen issues or requiring troubleshooting is always a possibility. If you experience other problems or need assistance beyond the scope of the fixes included in this CU, it may be necessary to create a separate service request with Microsoft Support. Standard support costs will apply to additional support inquiries and issues that are not directly related to this specific cumulative update package.

For a comprehensive list of Microsoft Customer Service and Support telephone numbers, or to initiate a new service request, please visit the Microsoft support website.

How to Uninstall This Update

If, for any reason, you need to uninstall Cumulative Update 4, you can do so through the Control Panel in Windows. Follow these steps to uninstall the update:

  1. Open Control Panel.
  2. Select Add or Remove Programs. (On Windows 7 or later, select Programs and Features).
  3. Locate the entry corresponding to this cumulative update package within the list of installed programs.
  4. Select the entry, and then choose Uninstall (or right-click and select Uninstall).
  5. Follow the on-screen prompts to complete the uninstallation process.

Prerequisites

To successfully apply Cumulative Update 4 for SQL Server 2016 SP1, you must have SQL Server 2016 SP1 already installed on your system. This CU is designed as an update specifically for SP1 and cannot be applied to earlier versions of SQL Server 2016 or other editions.

Restart Information

After applying Cumulative Update 4, a system restart might be required to fully complete the update process and ensure all changes are correctly applied. The installation process will typically prompt you if a restart is necessary. It is recommended to plan for a potential restart when scheduling the installation of this cumulative update.

Registry Information

Applying this cumulative update package does not necessitate any manual changes to the Windows Registry. The update process handles all required registry modifications automatically. You do not need to manually configure or alter any registry settings to utilize the fixes included in this CU.

File Information

The cumulative update package contains a collection of files necessary to address the issues detailed in this article. It may not include all files required to fully update a product to the absolute latest build if there were changes outside of the specific fixes.

The English version of this update package provides file attributes (or later attributes) as listed in the tables within the original article. The dates and times for these files are presented in Coordinated Universal Time (UTC). When examining file information, the time is converted to your local time zone. You can find the difference between UTC and local time by using the Time Zone tab in the Date and Time settings in Control Panel.

The file information is extensive and categorized by architecture (x86-based and x64-based versions) and SQL Server components. These details are primarily for reference and verification purposes.

We encourage you to apply Cumulative Update 4 for SQL Server 2016 SP1 to benefit from the included fixes and improvements. Please feel free to share your experiences or any questions you may have in the comments below. Your feedback is valuable to the SQL Server community.

Post a Comment