This article describes Cumulative Update package 4 (CU4) for SQL Server 2019. This update contains fixes that were released after the initial release of SQL Server 2019 and updates the SQL Server and Analysis services components to the following builds.
|Component||Product version||File version|
This article also provides important information about the following situations:
- Analysis Services CU build version: Beginning in SQL Server 2017, the Analysis Services build version number and SQL Server Database Engine build version number do not match. For more information, see Verify Analysis Services cumulative update build version.
Cumulative updates (CU)
- Each new CU contains all the fixes that were included with the previous CU for the installed version of SQL Server.
- SQL Server CUs are certified to the same levels as Service Packs, and should be installed at the same level of confidence.
- Microsoft recommends ongoing, proactive installation of CUs as they become available according to these guidelines:
- Historical data shows that a significant number of support cases involve an issue that has already been addressed in a released CU.
- CUs may contain added value over and above hotfixes. This includes supportability, manageability, and reliability updates.
- We recommend that you test SQL Server CUs before deploying to production environments.
How to obtain this cumulative update package for SQL Server 2019 on Windows
The following update is available from the Microsoft Download Center:
- Note Microsoft Download Center will always present the latest SQL Server 2019 CU release.
- If the download page does not appear, contact Microsoft Customer Service and Support to obtain the cumulative update package.
- Note Microsoft Update Catalog contains this SQL Server 2019 CU and previously released SQL Server 2019 CU releases.
- This CU is also available through Windows Server Update Services (WSUS).
- We recommend that you always install the latest cumulative update that is available.
How to obtain this cumulative update package for SQL Server 2019 on Linux
To update SQL Server 2019 on Linux to the latest CU, you must first have the Cumulative Update repository configured. Then, update your SQL Server packages by using the appropriate platform-specific update command.
For installation instructions and direct links to the CU package downloads, see the SQL Server 2019 Release Notes.
How to obtain this cumulative update package for SQL Server 2019 Big Data Clusters (BDC)
To implement SQL Server 2019 BDC on Linux to the latest CU, see the Big Data Clusters Deployment Guidance.
Starting in SQL Server 2019 CU1, you can perform in-place upgrades for Big Data Clusters from the production supported releases (SQL Server 2019 GDR1). For more information, see How to upgrade SQL Server Big Data Clusters.
For additional information, see the Big Data Clusters release notes.
List of improvements and fixes included in this Cumulative Update
For more information about the bugs that are fixed and enhancements that are included in this cumulative update, see the following Microsoft Knowledge Base articles.
|Bug Reference||KB article number||Description||Fix area||Platform|
|13443390||Adds new SERVERPROPERTY "IsBigDataCluster" to retrieve a boolean value that describes whether the instance is BDC or not.||Big Data Cluster (BDC)||All|
|13441894||4538581||FIX: Scalar UDF Inlining issues in SQL Server 2019||SQL Engine||All|
|13411047||4552159||FIX: Error occurs when you apply a security policy on PolyBase external table in SQL Server 2019||SQL Engine||All|
|13402700||4552205||FIX: Error occurs when you try to create external table in PolyBase with database_default as collation in SQL Server 2019||SQL Engine||All|
|13414966||4538688||FIX: Severe spinlock contention occurs in SQL Server 2019||SQL Engine||All|
|13445859||Access violation error occurs when you cancel queries against Big Data Cluster (BDC) storage pool or any OPENROWSET query on an instance of SQL Server 2019.||SQL Engine||All|
|13407609||4538268||FIX: "Expired BLOB handle" error occurs when cross-database transaction involves communication with MSDTC in SQL Server 2017 and 2019||SQL performance||All|
|13421861||4541096||FIX: Access Violation occurs when you run query on computed columns in SQL Server||SQL performance||All|
|13421852||4543027||FIX: Parallel sampled filtered statistics may cause incorrect histogram scaling in SQL Server 2016 and 2019||SQL performance||All|
|13440147||Starting from Cumulative Update 4 (CU4) for SQL Server 2019, when auditing DMVs and DBCC commands to get query optimization statistics and if sensitive data is revealed, the 'data_sensitivity_information' column of the audit record will be populated.||SQL security||All|
|13429199||Improved error message is returned when you try to link the base and history tables on which data classification is already defined.||SQL security||All|
|13402561||4532432||Mssql-conf tool fails if IPV6 is disabled on the Linux system||SQL Engine||Linux|
|13357335||Assume that the Format String Expression property of a Calculation Item from a Calculation Group is set. The performance degradation occurs when you run MDX queries generated by MDX based client tools and may also occur when MDX queries do not refer to the calculation item with Format String Expression set. However, the performance degradation is not so evident on equivalent DAX queries generated by Power BI Desktop visuals.||Analysis Services||Windows|
|13421880||4541300||FIX: Fix incorrect values in auto seeding XEvents in SQL Server||High Availability||Windows|
|13421858||4541303||FIX: Non-yielding Scheduler error may occur with Always On availability group in Microsoft SQL Server||High Availability||Windows|
|13421856||4541309||FIX: Missing log block may occur when you use Always On availability group in SQL Server||High Availability||Windows|
|13421865||4541724||FIX: Intermittent non-yielding scheduler occurs when memory-optimized database running under heavy I/O activities in SQL Server 2016 and 2019||In-Memory OLTP||Windows|
|13417390||In the Service Accounts interface of SQL Server Setup, password validation may fail if only username is entered before the correct password is entered. This failed validation may lock out the domain service account if you do this repeatedly and domain policy set to lock accounts after few unsuccessful attempts.||Setup & Install||Windows|
|13407610||4538365||FIX: Change Tracking cleanup does not work when invalid cleanup and hardened cleanup version are negative in SQL Server 2017 and 2019||SQL Engine||Windows|
|13421889||4539815||FIX: Access violation occurs when change tracking auto cleanup tries to clean up side tables in SQL Server||SQL Engine||Windows|
|13421887||4540107||FIX: System or background task may fail when number of sessions reaches the maximum limit in SQL Server 2016 and 2019||SQL Engine||Windows|
|13443768||4540121||FIX: sp_execute_external_script doesn't run when you install SQL Server 2019 with Machine Learning Services and a customized Shared feature directory||SQL Engine||Windows|
|13421916||4540342||FIX: Non-yielding scheduler condition occurs with CONNECTION_MANAGER spinlock in SQL Server||SQL Engine||Windows|
|13421902||4540903||FIX: Non-yielding scheduler dump occurs in InterlockedCompareExchangePointer and SOS_RWLock in SQL Server 2016 and 2019||SQL Engine||Windows|
|13421876||4541435||FIX: Error occurs when you rename a column on temporal current table in SQL Server||SQL Engine||Windows|
|13421863||4541520||FIX: Assertion occurs when you process a malformed XML message sent as message in Service Broker queue in SQL Server||SQL Engine||Windows|
|13421900||4541762||FIX: Management Data Warehouse Server Activity Collection Set may fail in SQL Server 2016 and 2019||SQL Engine||Windows|
|13421882||4541770||FIX: Assertion failure occurs when persistent log buffer is used in SQL Server 2016 and 2019||SQL Engine||Windows|
|13404458||4548103||FIX: Performance degradation occurs on PMEM devices with Hybrid Buffer Pool enabled in SQL Server 2019||SQL Engine||Windows|
|13376878||When an application performs bulk copy operations and a subsequent select in the same transaction against a database with simple or bulk-logged recovery model, SQL Server Access Violations may occur and repeat until the service is restarted.||SQL Engine||Windows|
|13418869||SQL Writer will add its version and log tracing parameters to the log header when the service starts.||SQL Engine||Windows|
|13431504||Improves SQL Writer for better handling of COPY_ONLY backup messages in SQL Server 2019.||SQL Engine||Windows|
|13407603||4538497||FIX: Slow query performance when using query predicates with UPPER, LOWER or RTRIM with default CE in SQL Server 2017 and 2019||SQL performance||Windows|
|13421869||4539880||FIX: Access violation occurs with wait_info XEvent on busy SQL Server||SQL performance||Windows|
|13421907||4540346||FIX: MERGE statement fails with assert “Attempt to access expired blob handle (1)” in SQL Server 2016 and 2019||SQL performance||Windows|
|13421911||4540901||FIX: SQL Server may terminate due to lock conflicts during error message processing in SQL Server 2016 and 2019||SQL security||Windows|
Notes for this update
Under certain circumstances, there is a known uninstall issue with this SQL Server 2019 CU4. If you uninstall this CU, SQL server doesn’t come online and you find the following SQL Server error log message:
The script level for 'system_xevents_modification.sql' in database 'master' cannot be downgraded from XXXXXXXXX to XXXXXXXXX, which is supported by this server. This usually implies that a future database was attached and the downgrade path is not supported by the current installation. Install a newer version of SQL Server and re-try opening the database
Mitigation is to enable Trace Flag -T902, then SQL server will come online and you are done. You don’t need to uninstall it again. To upgrade to new CU you need to remove this flag first.
SQL Server 2019 CU5 or any later CU release contains the fix.
Hybrid environments deployment
- SQL Server failover cluster rolling update and service pack process
Note If you do not want to use the rolling update process, follow these steps to apply an update:
- Install the update on the passive node.
- Install the update on the active node (requires a service restart).
- Upgrade and update of availability group servers that use minimal downtime and data loss
Note If you enabled AlwaysOn together with SSISDB catalog, see the information about SSIS with AlwaysOn for more information about how to apply an update in these environments.
- How to apply a hotfix for SQL Server in a transactional replication and database mirroring topology
- How to apply a hotfix for SQL Server in a replication topology
- How to install service packs and hotfixes on an instance of SQL Server that is configured to use database mirroring
- Overview of SQL Server Servicing Installation
To apply this cumulative update package, you must be running SQL Server 2019.
You may have to restart the computer after you apply this cumulative update package.
To use one of the hotfixes in this package, you do not have to make any changes to the registry.
- Announcing updates to the SQL Server Incremental Servicing Model (ISM)
- SQL Server Service Packs are discontinued starting from SQL Server 2017
- Determining which version and edition of SQL Server Database Engine is running
- An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems
- Naming schema and Fix area descriptions for SQL Server software update packages
- Description of the standard terminology that is used to describe Microsoft software updates