Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
KB5024276 - Cumulative Update 20 for SQL Server 2019
Release Date: April 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
Queries that use the built-in SESSION_CONTEXT function might return incorrect results or trigger access violation (AV) dump files when run in parallel query plans. This issue occurs because of the manner in which SESSION_CONTEXT interacts with parallel execution threads, particularly if the session is reset for reuse.
For more information, see the Known issues section in SESSION_CONTEXT.
Issue two
After you install this cumulative update, external data sources using the generic ODBC connector may no longer work. When you try to query external tables that were created before installing 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.
This issue is fixed in SQL Server 2019 CU21.
Issue three
This issue is caused by a change introduced in this cumulative update for the Managed Instance link feature. Assume that the databases of an Always On availability group have one of the following conditions:
The databases use memory-optimized tables, the FileStream class, or multiple log files.
You upgrade a replica to this cumulative update. For example, the primary replica is upgraded to SQL Server 2019 CU20, and the secondary replica remains SQL Server 2019 CU19.
The databases indicate the "Not Synchronizing" status.
You review the
sys.dm_exec_requestsDMV and notice theDB STARTUPcommand is blocked on waitHADR_RECOVERY_WAIT_FOR_UNDO.
In this scenario, you restart the SQL Server instance hosting the primary replica of the availability group. Then the databases start to synchronize. Additionally, you might notice the following error messages logged in the SQL Server error log and Extended Event logs:
Error 9642, Severity 16, State 3: An error occurred in a Service Broker/Database Mirroring transport connection endpoint. Error: 8474, State: 11. (Near endpoint role: target, far endpoint address: '')
If you have applied this cumulative update to one or more secondary replicas and are currently not synchronizing with the primary replica, you can use the following steps to mitigate this issue:
Add trace flag 12324 as a startup parameter on all replicas (including the primary replica). Restart the secondary replicas to activate this trace flag. Meanwhile, the primary replica should be synchronized with all secondary replicas restarted with trace flag 12324 as the startup parameter.
After all secondary replicas are updated and restarted, fail over the primary replica, now as a secondary role, and restart it to enable trace flag 12324.
Apply this cumulative update to the old primary replica and restart it in the secondary role.
Remove trace flag 12324 as the startup parameter from all replicas, and disable trace flag 12324 on all replicas by executing the
DBCC TRACEOFF(12324, -1)statement.
Note
Trace flag 12324 impacts only the Managed Instance Link feature and is only used to activate the changes in SQL Server 2019 CU20.
This issue is fixed in SQL Server 2019 CU22.
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. Select to 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 "#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 the bugs that are fixed and enhancements that are included in this cumulative update, see the following Microsoft Knowledge Base articles.
| Bug reference | Description | Fix area | Component | Platform |
|---|---|---|---|---|
| 2204516 | 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 |
| 2279650 | 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 |
| 2255878 | Fixes security vulnerabilities CVE-2015-6420 and CVE-2017-15708. | Integration Services | Integration Services | Windows |
| 2284765 | 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 |
| 2290381 | 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 |
| 2128204 | 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 |
| 2268752 | 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 |
| 2251105 | 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 |
| 2285519 | 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 |
| 2280420 2292769 |
FIX: Scalar UDF Inlining issues in SQL Server 2022 and 2019 (KB4538581) | SQL Server Engine | Query Execution | All |
| 2162863 | 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 |
| 2204764 | 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 |
| 2275387 | 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 |
| 2292999 | 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 |
| 2112485 | 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. Note: Trace flag 9440 will turn off the functionality provided by this fix for databases with a compatibility level of 160 and earlier. |
SQL Server Engine | Query Optimizer | All |
| 2161795 | 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 |
| 2216357 | 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 |
| 2264977 | 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 |
| 2299078 | 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 |
| 2162994 | 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. 2. You configure server A as the Publisher and server B as the Subscriber and create transactional replication. |
SQL Server Engine | Replication | Windows |
| 2212160 2269819 |
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 |
| 2021114 | FIX: Error may occur when setting the SQL Server Agent job history log (KB5024352) | SQL Server Engine | SQL Agent | Linux |
How to obtain or download this or the latest cumulative update package
File information
Notes for this update
How to uninstall this update
References
- Announcing updates to the SQL Server Incremental Servicing Model (ISM)
- SQL Server Service Packs are no longer supported starting from SQL Server 2017
- Determine which version and edition of SQL Server Database Engine is running
- Servicing models for SQL Server
- 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
Feedback
Was this page helpful?
