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_requests DMV and notice the DB STARTUP command is blocked on wait HADR_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:

  1. 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.

  2. 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.

  3. Apply this cumulative update to the old primary replica and restart it in the secondary role.

  4. 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


Feedback

Was this page helpful?

Additional resources