SQL Server 2016 SP3 Now Available: Get the Latest Updates (KB5003279)

Table of Contents

SQL Server 2016 SP3 Now Available

Microsoft has announced the release of Service Pack 3 (SP3) for SQL Server 2016. This service pack, released on September 15, 2021, brings the version number to 13.0.6300.2. It is a significant update containing important information and numerous fixes.

This document consolidates all essential details regarding SQL Server 2016 SP3. It serves as a single source for understanding how to obtain the service pack, reviewing the included fixes, noting any known issues, and listing copyright attributions. This approach replaces the need to consult separate release notes and Readme files.

Before applying this update package, users leveraging the Change Tracking feature should be aware of potential issues. Further details and mitigation steps related to these issues are available in a specific knowledge base article. Consulting this resource beforehand is strongly recommended to avoid encountering errors during or after the installation process.

Overview of SQL Server 2016 SP3

SQL Server 2016 service packs function as cumulative updates, meaning SP3 includes all fixes and improvements from previous cumulative updates and hotfixes released for SQL Server 2016 up to SP2 CU17, in addition to new fixes specific to SP3. Applying SQL Server 2016 SP3 will upgrade all editions and service levels of SQL Server 2016 to the SP3 level. This cumulative nature simplifies patching, ensuring that applying the latest service pack brings the instance up to the most recent standard of stability and performance.

Keeping your SQL Server instances updated is crucial for maintaining database health, performance, and security. Service packs bundle numerous bug fixes, performance enhancements, and security patches, addressing issues discovered since the previous release. By installing SP3, users can benefit from a more robust and reliable database platform.

Understanding the specific build versions and the fixes included in each cumulative update can be complex. Microsoft provides detailed documentation on the build versions available for SQL Server 2016. This information helps administrators track the history of updates and verify the current patching level of their SQL Server instances.

List of Fixes Included in SQL Server 2016 SP3

SQL Server 2016 SP3 incorporates a wide array of fixes across different areas of the product, including High Availability, Integration Services, Setup, SQL Connectivity, SQL Engine, SQL Performance, and SQL Security. These fixes address various issues reported by customers and found through internal testing. The cumulative nature of SP3 ensures that users receive the benefits of previous updates as well.

Below is a summary of the key bug references, the areas they impact, and a brief description of the fix or improvement. For more detailed information on each fix, Microsoft Knowledge Base articles provide in-depth explanations.

Bug Reference Area Path Description
14048342 High Availability Improvement: Availability Group listener without the load balancer in SQL Server 2019, 2017, and 2016 (KB4578579). Adds support for listeners in environments without needing a traditional load balancer, often useful in cloud or certain virtualized scenarios.
12344341 High Availability FIX: Transaction log isn’t truncated on a single node Availability Group in SQL Server (KB4515772). Addresses an issue where log truncation might fail in a single-node AG configuration.
13323519 High Availability FIX: Non-yielding Scheduler error may occur with Always On availability group in Microsoft SQL Server (KB4541303). Resolves a critical error that can impact the stability of the SQL Server instance.
14059362 High Availability FIX: Log line is verbose when Always On Availability Group has many databases in SQL Server 2019 and 2016 (KB5003596). Reduces the verbosity of logging for Availability Groups with a large number of databases, making logs easier to manage and analyze.
13829857 High Availability Fixes an access violation exception that may occur when sp_server_diagnostics is executed. Ensures the reliability of the sp_server_diagnostics system stored procedure used for monitoring instance health.
14031841 High Availability Fixes an issue that causes the database log_reuse_wait_desc to change to AVAILABILITY_REPLICA when a database is removed from Availability Group. Corrects misleading information about log reuse wait status after removing a database from an AG.
13435419 Integration Services Fixes security vulnerabilities CVE-2015-6420 and CVE-2017-15708. Addresses critical security vulnerabilities within the Integration Services component.
13163658 Setup & Install FIX: Setup fails when you install SQL Server on FCI with mount points (KB5005686). Resolves installation issues when deploying SQL Server on a Failover Cluster Instance (FCI) utilizing mount points.
14056703 SQL Connectivity Improvement: Enable DNN feature in SQL Server 2019 and 2016 FCI (KB4537868). Introduces support for Distributed Network Name (DNN) listeners for SQL Server FCIs, simplifying connectivity in cloud environments.
13526297 SQL Engine INSERT EXEC failed because the stored procedure altered the schema of the target table error in SQL Server 2016. Addresses a specific error scenario when using INSERT EXEC.
12670403 SQL Engine Improvement: Improve CDC supportability and usability with In-Memory Databases (KB4500511). Enhances the functionality and ease of use for Change Data Capture when used with memory-optimized tables.
13330609 SQL Engine Improvement: Size and retention policy are increased in default XEvent trace system_health in SQL Server 2019, 2017, and 2016 (KB4541132). Provides more comprehensive default diagnostic data by increasing the capacity and retention of the system_health Extended Event session.
13032229 SQL Engine Improvement: New XEvents temp_table_cache_trace and temp_table_destroy_list_trace are created in SQL Server 2019 and 2016 (KB5003937). Introduces new Extended Events to aid in troubleshooting issues related to temporary tables.
11324212 SQL Engine FIX: Assertion occurs when you access memory-optimized table through MARS in SQL Server 2017 or 2016 (KB4046056). Fixes an assertion error that can occur when accessing memory-optimized tables using Multiple Active Result Sets (MARS).
12920913 SQL Engine FIX: Error occurs when sp_addarticle is used to add article for transactional replication to memory-optimized table on subscriber in SQL Server 2017 and 2016 (KB4493329). Resolves an issue when setting up transactional replication involving memory-optimized tables.
13048725 SQL Engine FIX: Geocentric Datum of Australia 2020 is added to SQL Server 2017, 2016, and 2014 (KB4506023). Adds support for a specific geographic datum, improving spatial data handling for users in Australia.
13186160 SQL Engine FIX: SQL update package does not update Local DB files correctly when installed using SqlLocalDb.msi (KB4526524). Corrects an issue with the installation and updating of SQL Server LocalDB.
12107073 SQL Engine FIX: Assertion occurs when sys.sp_cdc_enable_table is used to enable CDC on column set table in SQL Server 2017 and 2016 (KB4531386). Fixes an assertion that can occur when enabling Change Data Capture on tables using column sets.
13128336 SQL Engine FIX: Fix incorrect memory page accounting that causes out-of-memory errors in SQL Server (KB4536005). Addresses memory management issues that could lead to out-of-memory errors.
13127842 SQL Engine FIX: Access violation exception occurs when promoting latches of frequently used database pages in SQL Server 2017 and 2016 (KB4551720). Resolves an access violation related to latching behavior on frequently accessed database pages.
13345987 SQL Engine FIX: Managed backup fails to take full backup when backup preference is set to secondary on Read-Only secondary in SQL Server 2016 (KB5004059). Corrects an issue preventing successful managed backups in specific Availability Group configurations.
14048422 SQL Engine FIX: Update SQL Server 2017 and 2016 CEIP service to send usage and diagnostic data to a new endpoint (KB5004466). Updates the Customer Experience Improvement Program (CEIP) data submission endpoint.
14037575 SQL Engine FIX: SQLLocalDB.exe info doesn’t display information about the specified LocalDB instance if SQL LocalDB 2016 SP2 is installed (KB5005453). Fixes a command-line tool issue with displaying LocalDB instance information.
13327250 SQL Engine FIX: “SQLLocalDB.exe versions” stops listing the versions of LocalDB installed on the computer if SQL LocalDB 2016 SP1/SP2 is installed (KB5005687). Resolves another issue with the SQLLocalDB utility’s version listing functionality.
13965515 SQL Engine Fixes EXCEPTION_INVALID_CRT_PARAMETER exception when you perform INSERT/UPDATE of wide replicated table. Addresses an exception that can occur during replication operations on wide tables.
13990061 SQL Engine Fixes a memory leak when you use STDistance spatial method with a spatial index. Corrects a memory leak associated with specific spatial queries using spatial indexes.
13992219 SQL Engine Fixes the sp_hadr_verify_replication_publisher displaying wrong distribution database name in error message. Corrects an error message inaccuracy in a system stored procedure used for validating replication within an Always On Availability Group.
14034656 SQL Engine Introduces new logging and XEvents to help troubleshoot long-running Buffer Pool scans. Provides enhanced diagnostic capabilities for investigating performance issues related to buffer pool scanning.
14042368 SQL Engine Fixes an issue in which some of the temporary working folders aren’t cleared when many R queries are run in parallel. Addresses resource cleanup problems when executing multiple R scripts concurrently.
14043334 SQL Engine Fixes the following assertion that may cause SQL Server to generate a dump: RecXdes::AnalyzeLogRecord file =FilePath\FileName line = LineNumber expression = m_state == XDES_COMMITTED. Resolves an assertion that could lead to unexpected SQL Server crashes.
14068486 SQL Engine Fixes an issue where you are unable to set up Managed Backup on SQL Server 2016 by using Azure SAS credential with a long secret due to SAS expiration. Addresses a problem preventing configuration of Managed Backup with certain Azure Storage credentials.
14072767 SQL Engine Enables new logging format for SQL Writer that provides additional troubleshooting data in an easy to read/parse format, along with enhanced control of log verbosity and enabling/disabling. Improves the diagnostic capabilities of the SQL Server VSS Writer.
14117764 SQL Engine Fixes Snapshot Agent performance issue observed on SQL 2016 SP2 CU13 and later. Addresses a performance degradation issue in the Snapshot Agent used for replication.
14130908 SQL Engine Fixes a missing data problem in Change Data Capture (CDC) side table and adds more error handling to prevent data loss. Resolves potential data integrity issues and improves error handling within the CDC mechanism.
14187407 SQL Engine Fixes an issue where you cannot run Machine Learning Services (R scripts) when you slipstream an installation of Microsoft SQL Server 2016 without vc_redist 2015 (msvcp140.dll). Corrects a dependency issue affecting the installation and use of R Services.
14193631 SQL Engine Fixes an issue where an access violation (AV) occurs and you see keywords EXCEPTION_ACCESS_VIOLATION and FFtFileObject::ProcessSetInfo in the SQL Server error log when you use the FileTable feature in SQL Server on the machine that uses Windows Defender Antivirus. Addresses a compatibility issue between the FileTable feature and Windows Defender.
12904837 SQL Performance Improvement: Enhancement adds sql_statement_post_compile XEvent in SQL Server 2017 and 2016 (KB4480630). Provides a new Extended Event for performance analysis related to query compilation.
11985415 SQL Performance Improvement: Corrupt statistics can be detected by using extended_logical_checks in SQL Server 2019 and 2016 (KB4530907). Enhances the ability to detect and diagnose issues with database statistics.
13377244 SQL Performance (See 11985415)
12994428 SQL Performance Makes CPU time and duration reported by xevent query_plan_profile more accurate. Improves the accuracy of performance data captured by the query_plan_profile Extended Event for query profiling.
13989322 SQL Performance Fixes the Access Violation error that occurs when ALTER INDEX is forced to execute using Query Store. Addresses an access violation issue when performing index alterations that interact with the Query Store feature.
14056563 SQL Performance Fixes a stack overflow issue when you run a query that has a very large number of UNION clauses. Resolves a stack overflow error that can occur with complex queries involving many UNION operations.
14080827 SQL Performance Fixes an assertion in CQPOnDemandTask::ExecuteQPJob if auto async update statistics is enabled. Addresses an assertion that can occur when the automatic asynchronous update statistics feature is enabled.
10087766 SQL Security FIX: SQL Server fails to start with error messages when an incorrect certificate is provisioned for SSL (KB5005689). Resolves startup issues that can occur when an improperly configured certificate is used for SSL/TLS encryption.

This extensive list highlights Microsoft’s commitment to improving the SQL Server 2016 platform through regular updates. These fixes range from critical stability and security patches to performance enhancements and improved diagnostics tools. Applying SP3 is a recommended step for all SQL Server 2016 users.

Understanding the Impact of Key Fixes

Several fixes included in SP3 address critical areas of SQL Server functionality. For instance, fixes related to High Availability are vital for environments relying on Always On Availability Groups or Failover Cluster Instances to ensure business continuity and data protection. Improvements in SQL Engine focus on core database operations, query processing, and interactions with features like In-Memory OLTP and CDC, directly impacting application performance and data management reliability.

Performance-related fixes, such as improved accuracy in query profiling and resolution of issues like stack overflows or incorrect statistics detection, are essential for database administrators and developers seeking to optimize workload performance. Security fixes, like the one addressing startup failures due to incorrect SSL certificates, are fundamental for securing SQL Server instances and protecting sensitive data. The cumulative nature of SP3 means users benefit from a wide spectrum of these improvements simultaneously.

How to Get SQL Server 2016 SP3

SQL Server 2016 SP3 is available for manual download and installation from the Microsoft Download Center. This includes the service pack for the main SQL Server product, as well as updated versions for SQL Server 2016 SP3 Express Edition and the SQL Server 2016 SP3 Feature Pack. These downloads provide the necessary installers to update existing SQL Server 2016 installations.

You can find the downloads at the following locations:

  • SQL Server 2016 SP3
  • SQL Server 2016 SP3 Express
  • Microsoft SQL Server 2016 SP3 Feature Pack

After a successful installation of this service pack, you can verify the installed version by checking the SQL Server service version, which should be 13.0.6300.2. Remember that installing SP3 on any edition or service level of SQL Server 2016 will upgrade it to this specific SP3 version.

File Information

To ensure the integrity of the downloaded files, you can use the provided SHA256 hash information. Comparing the hash of your downloaded file with the hash published by Microsoft helps verify that the file has not been tampered with during the download process.

File Name SHA256 Hash
SQLServer2016SP3-KB5003279-x64-ENU.exe CAE75F65C7C3C263A7BDBAEF0F4AFD0AE49BAF57C08AB27141A7B26008658A91
SQLServer2016-SSEI-Expr.exe 25692917049A856B9CCEA2C1242F42A1A585D3AD94F1F449E93BE183F17C397A

Using cryptographic hash functions like SHA256 is a standard security practice for verifying downloaded software. Tools are available in most operating systems to calculate the hash of a local file. It’s a simple but effective step to add confidence in the integrity of your installation source.

Upgrading and Uninstalling SQL Server 2016 SP3

Upgrading your SQL Server installation to SP3 generally follows standard patching procedures. It is always recommended to review the specific requirements and steps for upgrading to a new service pack version. Microsoft provides detailed documentation on supported version and edition upgrades, which should be consulted before beginning the process. This ensures compatibility and helps plan for any potential prerequisites or considerations specific to your environment.

While uninstalling SQL Server service packs is technically possible, it is generally not recommended, especially for production environments. The uninstallation process for SQL Server 2016 SP3 is not blocked and proceeds like uninstalling any other service pack. However, uninstalling a service pack can lead to significant issues, particularly if features enabled or improved by the service pack are in use.

For SQL Server editions other than Enterprise (Standard, Web, Express), some features might only become fully available or functional after installing a service pack. If these features are used (e.g., partitioned tables in system databases or MEMORY_OPTIMIZED_DATA filegroups), uninstalling SP3 can cause databases to enter a suspect state or even prevent SQL Server instances from starting. This is because the server version reverts to a state where it does not support those features.

Specifically, if you are using a MEMORY_OPTIMIZED_DATA filegroup in a database on a non-Enterprise edition (where this feature is typically restricted), and you installed SP3 which somehow allowed or you leveraged this feature, uninstalling SP3 is not possible without severe consequences. The database will fail to start, logging errors indicating it contains a MEMORY_OPTIMIZED_DATA filegroup which is not supported in that edition. Therefore, before even considering uninstalling SP3 on non-Enterprise editions, ensure that no features unlocked or fully supported by SP3 are actively used. If such features are in use, they must be disabled or dropped before attempting uninstallation.

Installing R Services

For users leveraging Machine Learning Services with R, the installation process might involve specific steps, especially if slipstreaming the SP3 update with a base SQL Server 2016 installation. A known issue addresses a dependency on vc_redist 2015 (msvcp140.dll) that could prevent R scripts from running if not properly installed during setup. Ensuring all prerequisites for R Services are met, particularly the correct Visual C++ Redistributable version, is vital for its proper functioning post-SP3 installation.

Microsoft provides dedicated documentation on how to install SQL Server 2016 R Services on Windows. This guide walks through the steps necessary to integrate R capabilities into your SQL Server environment, enabling advanced analytical workloads directly within the database engine. Following this documentation ensures a smooth installation and configuration experience.

The SQL Server software incorporates components developed by Microsoft and also includes software licensed from third parties. The following attributions are required for the use of certain components within SQL Server 2016 SP3:

  • 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. Regarding the RSA Data Security, Inc., software, the following notice applies:
    • Copyright 1990, RSA Data Security, Inc. All rights reserved.
    • License to copy and use this software is granted provided that it is 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 is 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 utilizes data from TIGER/Line Shapefiles, provided courtesy of the United States Census Bureau. These shapefiles are an extract of selected geographic and cartographic information from the Census MAF/TIGER database and are available free of charge. The boundary information is solely for statistical data collection and tabulation purposes and does not imply jurisdictional authority, ownership rights, or entitlements, nor does it reflect legal land descriptions. Census TIGER and TIGER/Line are registered trademarks of the United States Census Bureau.

These attributions acknowledge the intellectual property of third parties whose code or data is incorporated into the SQL Server product, demonstrating compliance with licensing requirements.

Additional Information and Resources

For users needing to determine the specific version and edition of their currently installed SQL Server instance, Microsoft provides a knowledge base article detailing how to identify this information. Knowing your exact version and edition is crucial before applying any updates, planning upgrades, or troubleshooting issues. This helps ensure compatibility and the correct application of patches.

Determining SQL Server Version and Edition: A specific knowledge base article provides scripts and instructions to easily identify this information for any installed SQL Server instance.

It is important to note that while this article discusses third-party components, Microsoft’s warranty applies to the SQL Server product as a whole. Any statements about third-party products are based on information available at the time of the SQL Server release, and users should consult the respective third parties for details regarding their specific products.

Staying current with service packs and cumulative updates is a fundamental practice in managing SQL Server environments. These updates not only fix bugs and improve performance but also address security vulnerabilities, which are increasingly important in today’s threat landscape. Regularly applying updates, after proper testing in non-production environments, helps maintain a secure and stable database infrastructure.

Consider implementing a patching strategy that includes testing updates in a staging environment that mirrors your production setup. This allows you to identify any potential compatibility issues or unexpected behaviors before deploying to critical production systems. A well-planned patching process minimizes downtime and ensures a smooth transition to the updated version.

Supporting Media: Understanding SQL Server Patches

While there’s no specific video mentioned in the source, understanding the patching process for SQL Server is vital. Here’s a general video from Microsoft that might provide helpful context on keeping SQL Server updated (example, actual video might vary and should be relevant):

<iframe width="560" height="315" src="https://www.youtube.com/embed/INSERT_RELEVANT_YOUTUBE_VIDEO_ID" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

(Please replace INSERT_RELEVANT_YOUTUBE_VIDEO_ID with the actual ID of a relevant YouTube video about SQL Server patching or updates, if one is available and appropriate. As per instructions, I cannot link directly from the original source, but I can add relevant supporting media.)

This video can offer visual guidance or further explanation on the importance of updates and potentially the process of applying them. Visual aids can often make complex technical topics more accessible.

Conclusion

The release of SQL Server 2016 SP3 provides important stability, performance, and security updates for the platform. With version 13.0.6300.2, this service pack cumulative includes numerous fixes developed since the release of SP2 CU17. Users are encouraged to evaluate and plan for the installation of this service pack to benefit from the latest improvements and ensure their environments are as stable and secure as possible. Proper planning, including reviewing the list of fixes and understanding the implications of installation and potential uninstallation, is key to a successful update process.

Applying service packs is a standard part of the database lifecycle management. It helps address known issues and keeps the database system running efficiently. Always ensure you have appropriate backups before performing any major system updates.

Have you installed SQL Server 2016 SP3 yet? What changes or improvements have you noticed? Share your experiences or any questions you have about this service pack in the comments below!

Post a Comment