KB5024276 - Cumulative Update 20 for SQL Server 2019
Release Date:
4/13/2023
Version:
15.0.4312.2
Summary
This article describes Cumulative Update package 20 (CU20) for Microsoft SQL Server 2019. This update contains 24 fixes that were issued after the release of SQL Server 2019 Cumulative Update 19, and it updates components in the following builds:
-
SQL Server - Product version: 15.0.4312.2, file version: 2019.150.4312.2
-
Analysis Services - Product version: 15.0.35.39, file version: 2018.150.35.39
Known issues in this update
Issue one
SQL Server 2019 CU14 introduced a fix to address wrong results in parallel plans returned by built-in SESSION_CONTEXT. However, this fix could create access violation dump files when the SESSION is reset for reuse. To mitigate this issue and avoid wrong results, you can disable the original fix and also disable the parallelism for built-in SESSION_CONTEXT. To do this, use the following trace flags:
-
11042 - This trace flag disables the parallelism for built-in SESSION_CONTEXT.
-
9432 - This trace flag disables the fix that was introduced in SQL Server 2019 CU14.
Microsoft is working on a fix for this issue that will be available in a future CU.
Issue two
After you install this cumulative update, external data sources that use the generic ODBC connector might no longer work. When you try to query external tables that were created before you installed this cumulative update, you receive the following error message:
Msg 7320, Level 16, State 110, Line 68
Cannot execute the query "Remote Query" against OLE DB provider "MSOLEDBSQL" for linked server "(null)". Object reference not set to an instance of an object.
If you try to create a new external table, you receive the following error message:
Msg 110813, Level 16, State 1, Line 64
Object reference not set to an instance of an object.
To work around this issue, you can uninstall this cumulative update or add the Driver keyword to the CONNECTION_OPTIONS argument. For more information, see Generic ODBC external data sources may not work after installing Cumulative Update.
Improvements and fixes included in this update
A downloadable Excel workbook that contains a summary list of builds, together with their current support lifecycle, is available. The Excel file also contains detailed fix lists for SQL Server 2022, SQL Server 2019, and SQL Server 2017. Download this Excel file now.
Note: Individual entries in the following table can be referenced directly through a bookmark. If you select any bug reference ID in the table, a bookmark tag is added to the URL by using the "#bkmk_NNNNNNN" format. You can then share this URL with others so that they can jump directly to the desired fix in the table.
For more information about 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 |
Component |
Platform |
|
---|---|---|---|---|---|---|
Fixes an issue that can cause corruption of the internal data structure that the Analysis Services engine uses to manage memory. |
Analysis Services |
Analysis Services |
Windows |
|||
Fixes a failure in SQL Server Analysis Services (SSAS) that you encounter after you rename partitions to the same name in a multidimensional model. |
Analysis Services |
Analysis Services |
Windows |
|||
Fixes security vulnerabilities CVE-2015-6420 and CVE-2017-15708. |
Integration Services |
Integration Services |
Windows |
|||
Fixes a DateTime issue where the month and day are incorrectly recognized in Master Data Services (MDS) that you encounter when the input format doesn't match the preset format. |
Master Data Services |
Master Data Services |
Windows |
|||
Fixes an access violation issue, most often seen on a database in an availability group, that you encounter during virtual device interface (VDI) backups. |
SQL Server Engine |
Backup Restore |
All |
|||
Fixes an assertion failure (Location: interop.cpp:125; Expression: 'RTL_ASSERT(nullptr != error) or (nullptr == error)') that you encounter when memory-optimized tempdb metadata is enabled. |
SQL Server Engine |
In-Memory OLTP |
Windows |
|||
Fixes a memory leak issue that you encounter when configuring SQL Server log shipping that's in standby or read-only mode for an In-memory OLTP database. Note: You need to turn on trace flag 9953 during startup to avoid the issue. |
SQL Server Engine |
In-Memory OLTP |
All |
|||
Updates the error message that's returned in the SqlBackendNotSupported exception when you run CREATE EXTERNAL TABLE by using a Synapse serverless external data source to the following one: Azure Synapse Serverless SQL Pool is not a supported data source. |
SQL Server Engine |
PolyBase |
All |
|||
Fixes a failure where the DateTime field can't be pushed down to some PolyBase generic ODBC external data sources such as Denodo when you query an external table by using a filter clause for a DateTime field. |
SQL Server Engine |
PolyBase |
All |
|||
4538581 |
SQL Server Engine |
Query Execution |
All |
|||
Fixes an access violation that may be encountered when querying the sys.dm_os_memory_objects dynamic management view (DMV). |
SQL Server Engine |
Query Execution |
All |
|||
Fixes access violations and INVALID_POINTER_READ_c0000005_sqlmin.dll!CProfileList::FGetPartitionSummaryXML exceptions that you may encounter during the execution of sys.dm_exec_query_plan_stats. |
SQL Server Engine |
Query Execution |
Windows |
|||
Fixes an assertion failure (Location: bpctxt.cpp:129; Expression: 'm_cCreated < m_cMaxBatches') that you encounter when running window queries that have aggregate functions in batch mode. |
SQL Server Engine |
Query Execution |
All |
|||
Fixes an issue where running the ALTER ASSEMBLY command for a complex common language runtime (CLR) assembly can cause some of the other commands that are executed in parallel to time out. |
SQL Server Engine |
Query Execution |
All |
|||
Fixes an issue where the cardinality estimation (CE) uniformly increases after each LEFT JOIN or RIGHT JOIN combines, which causes overestimation. This fix adds a limitation to the CE when the join predicates are the primary keys of the tables that are involved. |
SQL Server Engine |
Query Optimizer |
Windows |
|||
Fixes an assertion failure (Location: purecall.cpp:51; Expression: !"purecall") that you encounter after you cancel a user-defined stored procedure that is still running. |
SQL Server Engine |
Query Optimizer |
All |
|||
Produces consistent results for statements that perform multiple updates to a variable when the query optimization hotfixes are enabled, such as SELECT @sum = @sum + c FROM t. |
SQL Server Engine |
Query Optimizer |
All |
|||
Fixes an issue that's caused by automatic parameterization of queries where interleaved execution of multi-statement table-valued functions (MSTVFs) may return incorrect results or cause a deadlock on the first execution. |
SQL Server Engine |
Query Optimizer |
All |
|||
Fixes an issue where the KILL STATS JOB process leaks reference counts on some items when multiple asynchronous statistics jobs are running, which causes those items to remain in the queue (visible via sys.dm_exec_background_job_queue) until the SQL Server instance is restarted. |
SQL Server Engine |
Query Optimizer |
All |
|||
Fixes an issue where the DataAccess property for the linked server is reset to False when you execute the sp_addsubscription stored procedure or create a subscription through the New Subscription Wizard on server A after: 1. You have a linked server on server A for server B and have used the linked server for data access. |
SQL Server Engine |
Replication |
Windows |
|||
Before the fix, you can still enable transactional replication or change data capture (CDC) and delayed durability on a database at the same time, even if transactional replication or CDC and delayed durability aren't compatible. This fix explicitly prevents you from enabling transactional replication or CDC and delayed durability on a database at the same time by returning the following error 22891 or 22892: 22891: Could not enable '<FeatureName>' for database '<DatabaseName>'. '<FeatureName>' cannot be enabled on a DB with delayed durability set. 22892: Could not enable delayed durability on DB. Delayed durability cannot be enabled on a DB while '<FeatureName>' is enabled. For more information, see Delayed durability and other SQL Server features. |
SQL Server Engine |
Replication |
All |
|||
5024352 |
FIX: Error may occur when setting the SQL Server Agent job history log |
SQL Server Engine |
SQL Agent |
Linux |
How to obtain or download this or the latest cumulative update package
The following update is available from the Microsoft Download Center:
Download the latest cumulative update package for SQL Server 2019 now
Notes:
-
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.
The following update is available from the Microsoft Update Catalog:
Download the cumulative update package for SQL Server 2019 CU20 now
Notes:
-
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.
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.
To upgrade Microsoft SQL Server 2019 Big Data Clusters (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.
File information
You can verify the download by computing the hash of the SQLServer2019-KB5024276-x64.exe file through the following command:
-
certutil -hashfile SQLServer2019-KB5024276-x64.exe SHA256
File name |
SHA256 hash |
---|---|
SQLServer2019-KB5024276-x64.exe |
FD387773E613FECF9664CAF1777B48F3AB8C48A0B7BD863DEA40446867B7209C |
The English version of this package has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
x64-based versions SQL Server 2019 Analysis Services
SQL Server 2019 Database Services Common Core
SQL Server 2019 Data Quality
SQL Server 2019 sql_dreplay_client
SQL Server 2019 sql_dreplay_controller
SQL Server 2019 Database Services Core Instance
SQL Server 2019 Database Services Core Shared
SQL Server 2019 sql_extensibility
SQL Server 2019 Full-Text Engine
SQL Server 2019 sql_inst_mr
SQL Server 2019 Integration Services
SQL Server 2019 sql_polybase_core_inst
SQL Server 2019 sql_shared_mr
SQL Server 2019 sql_tools_extensions
|
Notes for this update
To apply this cumulative update package, you must be running SQL Server 2019.
You might 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.
This article also provides the following important information:
Analysis Services CU build version
Beginning in Microsoft 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.
-
We recommend 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 you deploy them to production environments.
When you deploy an update to a hybrid environment (such as AlwaysOn, replication, cluster, and mirroring), we recommend that you refer to the following articles before you deploy the update:
-
SQL Server failover cluster rolling update and service pack process
Notes: 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
SQL Server CUs are currently multilingual. Therefore, this CU package is not specific to one language. It applies to all supported languages.
One CU package includes all available updates for all SQL Server 2019 components (features). However, the cumulative update package updates only those components that are currently installed on the SQL Server instance that you select to be serviced. If a SQL Server feature (for example, Analysis Services) is added to the instance after this CU is applied, you must re-apply this CU to update the new feature to this CU.
If additional issues occur, or if any troubleshooting is required, you might have to create a service request. The usual support costs will apply to additional support questions and to issues that do not qualify for this specific cumulative update package. For a complete list of Microsoft Customer Service and Support telephone numbers, or to create a separate service request, go to the Microsoft support website.
How to uninstall this update
-
In Control Panel, open the Programs and Features item, and then select View installed updates.
-
Locate the entry that corresponds to this cumulative update package under SQL Server 2019.
-
Press and hold (or right-click) the entry, and then select Uninstall.
To uninstall this CU on Linux, you must roll back the package to the previous version. For more information about how to roll back the installation, see Rollback SQL Server.
References
-
Announcing updates to the SQL Server Incremental Servicing Model (ISM)
-
SQL Server Service Packs are discontinued starting from SQL Server 2017
-
Determine which version and edition of SQL Server Database Engine is running
-
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