KB5035123: Cumulative update for SQL Server 2019, CU branch, April 2024. Parallel SESSION_CONTEXT queries can return incorrect results
CU26 includes 23 fixes, but parallel queries using SESSION_CONTEXT might return incorrect results or cause access violations. It also introduces a lock-escalation regression that can cause error 1204.
Does it affect you? Applies to: SQL Server 2019 instances on Windows or Linux. The package updates the SQL Server components installed on the instance.
Review notes Additional details from the official release notes (1) Read note
-
What changes
Long I/O can prevent
sp_server_diagnosticsfrom responding to the availability-group resource DLL withinHealthCheckTimeout, causing unnecessary restart or failover. This fix requires trace flag 16301 to be enabled.
The official sources are linked at the end of the page.
For servers on the CU branch: they install cumulative updates, which also bring fixes beyond security. Servers on the GDR branch (security fixes only) get a separate update. Which branch am I on?
What changes
Fixes 16 changes
Backup Restore
-
A failed backup on a secondary replica in asynchronous-commit mode no longer produces a 9003 error.1
Fixes the 9003 error, severity 20, state 1, when a backup operation fails on a secondary replica running in asynchronous-commit mode.
High Availability and Disaster Recovery
-
Automatic seeding no longer remains stuck at LIMIT_CONCURRENT_BACKUPS when there are no other active seeding, VDI, or backup threads on the instance.2
Fixes automatic seeding remaining in
LIMIT_CONCURRENT_BACKUPSafter adding a database to an availability group. -
A distributed availability group can connect to the other group's listener again after a failover in a multi-subnet configuration.3
Fixes a temporary inability of the global primary or forwarder to connect to the other availability group's listener after the local group fails over between replicas in a multi-subnet configuration.
-
A slow I/O operation is less likely to cause an unnecessary restart or failover because the availability group health check is not answered in time.4
Fixes
sp_server_diagnosticsnot responding to the Always On availability group resource DLL withinHealthCheckTimeoutduring long I/O. Trace flag 16301 must be enabled for this fix; tracing is added regardless of the flag.
Linux
-
An unreliable network connection during a backup to a network share no longer leaves the SQL Server instance unresponsive.5
Fixes an unsuccessful backup-to-network-share status caused by an unreliable network connection, which could cause the SQL Server instance to stop responding.
Metadata
-
Secondary replicas are less likely to encounter random access violations when the primary has at least 16 processors and the secondary has fewer than 16.6
Fixes a lock manager issue that might cause random access violations and dumps under the stated primary and secondary processor-count conditions.
Programmability
Query Execution
-
Inserting a string representing negative zero into a decimal or numeric column no longer results in a later DBCC CHECKDB or DBCC CHECKTABLE error about an out-of-range value.9
Fixes an issue where
INSERTwithCASTorCONVERTfrom a negative-zero string succeeds butDBCC CHECKDBorDBCC CHECKTABLEreports error 2570.
Replication
-
Creating a subscription on secondary replicas works when the distribution database is in an availability group.10
Fixes errors from
sp_addsubscriptionwhen creating a Subscriber on secondary replicas if the distribution database is in an availability group. -
Adding a remote distributor no longer fails with error 18482 under the stated server-name and collation conditions.11
Fixes error 18482 from
sp_adddistributorwhen the Publisher server name contains lowercase characters and the Distributor uses a case-sensitive collation.
Search
-
The full-text automatic crawl function no longer stops working when full-text search is used.12
Fixes an issue that might stop the full-text auto crawl function when using full-text search.
-
An overflow of word occurrence values during full-text merging is fixed.13
Fixes an overflow issue of the word occurrence encountered during the full-text merging process.
SQL Agent
-
SQL Server Agent no longer terminates itself with Exception 5.14
Fixes SQL Server Agent terminating with
Exception 5 caughtandSQLServerAgent initiating self-termination.
SQL Server Engine
-
An assertion failure that can occur with multiple nested inserts is fixed. Trace flag 7117 can mitigate the issue; turn it off after the version cleaner cleans the problematic page.15
Fixes the assertion at
setypes.cpp:1274(!IsInRowDiff()) that might occur atFAILED_ASSERTION_42ac_sqlmin.dll!VersionRecPtr::IsNullwith multiple nested inserts. Trace flag 7117 can mitigate the issue and should be turned off after the version cleaner cleans the problematic page.
Transaction Services
-
An access violation caused by a race between a database and parallel redo shutdown is fixed.16
Fixes an access violation caused by a race between a database and a parallel redo shutdown.
New features 2 changes
Query Execution
-
A new setting lets administrators limit the memory used to handle remote procedure call parameters.17
Adds the advanced
max RPC request params (KB)option, configured withsp_configure, to limit memory allocated for handling RPC request parameters.
Search
-
The full-text filter usage event reports four additional input and output size measurements.18
Adds
min_input_size,max_input_size,min_output_size, andmax_output_sizefields to thesqlserver.fulltext_filter_usageExtended Event.
Improvement 1 change
Security Infrastructure
-
The number of extra user tokens created by SQL Server process views is limited when trace flag 4673 is used.19
Limits the extra number of user tokens created by
sys.sysprocessesorsys.dm_exec_requestsby using trace flag 4673.
Known issues
-
Incorrect behavior of SESSION_CONTEXT in parallel plans
Queries that use SESSION_CONTEXT in parallel query plans might return incorrect results or trigger access violation dump files, particularly if the session is reset for reuse.20
Workaround status No workaround yetMicrosoft has not published a manual workaround for this issue yet. Monitor release health until a resolving update is available.
-
Issue four: Possibility of error 1204 due to disabled lock escalation
CU26 can disable lock escalation and cause error 1204. SQL Server 2019 CU28 (KB5039747) resolves this issue.21
How to apply the workaround WorkaroundUninstall CU26.21
Technical details
Data sheet · Security · Downloads · Components Click to collapse or expand
Data sheet
- Released
- 2024-04-11
- Classification
- Updates
- Type
- Cumulative update
- Servicing branch
- CU
- Restart
- Required
- Replaces
- KB5033688
- Replaced by
- KB5037331
| Version | Build | Channel |
|---|---|---|
| 2019 | 15.0.4365.2 | General availability |
Security
No vulnerabilities are listed for this update.
Downloads (Microsoft Update Catalog)
Sources
Cited passages from Microsoft's official notes (21)
-
1.
FIX: "9003 error, sev 20, state 1" error when a backup operation fails on a secondary replica that is running in asynchronous-commit mode
support.microsoft.com -
2.
Fixes an issue in which the automatic seeding operation for a database remains in
support.microsoft.comLIMIT_CONCURRENT_BACKUPSafter adding the database to a new availability group or an existing one created with automatic seeding -
3.
Fixes an issue in which the global primary or forwarder in a distributed availability group can't connect to the listener of the other availability group for a while after the local availability group fails over between replicas in multi-subnet configurations.
support.microsoft.com -
4.
Fixes an issue in which the
support.microsoft.comsp_server_diagnosticsstored procedure doesn't respond to the Always On availability group (AG) resource DLL within theHealthCheckTimeoutwhen the I/O takes a long time -
5.
Fixes an issue in which an unreliable network connection causes an unsuccessful status during backup to a network share, which causes the SQL Server instance to stop responding.
support.microsoft.com -
6.
Fixes an issue in the lock manager that might cause random access violations and dumps on secondary replicas when the primary replica has 16 or more processors, and the secondary replicas have less than 16 processors.
support.microsoft.com -
7.
FIX: Scalar UDF Inlining issues in SQL Server 2022 and 2019 (KB4538581)
support.microsoft.com -
8.
Fixes the following SQL Server assertion failure: Error: 17065, Severity: 16, State: 1. Server Assertion: File: <FileName>, line = <LineNumber> Failed Assertion = 'false' Invalid comparison due to NO COLLATION.
support.microsoft.com -
9.
Fixes an issue in which using the
support.microsoft.comINSERTstatement with theCASTorCONVERTfunction from a string representing negative zero to a decimal or numeric datatype succeeds -
10.
Fixes the following errors that you encounter when using
support.microsoft.comsp_addsubscriptionto create the Subscriber on secondary replicas if the distribution database is in an availability group -
11.
Fixes an issue in which [error 18482] is caused when using
support.microsoft.comsp_adddistributorto add a remote distributor if the Publisher server name contains lowercase characters and the Distributor server has the case-sensitive (_CS) collation. -
12.
Fixes an issue in which the full-text auto crawl function might stop working when you use full-text search.
support.microsoft.com -
13.
Fixes an overflow issue of the word occurrence that you encounter during the full-text merging process.
support.microsoft.com -
14.
Fixes an issue that causes the SQL Server Agent to terminate with the following error message: Exception 5 caught
support.microsoft.com -
15.
Fixes an assertion failure (Location: setypes.cpp:1274; Expression: !IsInRowDiff()) that you might encounter at
support.microsoft.comFAILED_ASSERTION_42ac_sqlmin.dll!VersionRecPtr::IsNullwhen you have multiple nested inserts. -
16.
Fixes an access violation caused by a race between a database and a parallel redo shutdown.
support.microsoft.com -
17.
Adds a new advanced option
support.microsoft.com'max RPC request params (KB)'configured by usingsp_configureto limit the maximum memory allocated for handling remote procedure call (RPC) request parameters. -
18.
Adds the following fields to the
support.microsoft.comsqlserver.fulltext_filter_usageExtended Event (XEvent) to improve the telemetry reporting for the XEvent: - min_input_size - max_input_size - min_output_size - max_output_size -
19.
Limits the extra number of user tokens created by
support.microsoft.comsys.sysprocessesorsys.dm_exec_requestsby using trace flag 4673. -
20.
Queries that use the built-in
support.microsoft.comSESSION_CONTEXTfunction might return incorrect results or trigger access violation (AV) dump files when run in parallel query plans. -
21.
SQL Server 2019 CU26 introduced a regression that can disable lock escalation, which causes error 1204
support.microsoft.com
Checked automatically: 8 of 8 checks passed, 21 quoted passages · compared with Microsoft's page on Oct 20, 2026
- Quotes found in the official pages: passed
- Numbers found in the sources: passed
- Vulnerabilities from the dossier only: passed
- Links to allowed domains only: passed
- Every official change covered: passed
- Readable plain text: passed
- Changes confirmed by the file list: passed
- Sources agree: passed
A second AI read the text against the sources: correctness 4/5, clarity 4/5, completeness 5/5. How we work
Published by The Update Bureau. Written with AI from Microsoft's own documents, checked by rules and a second AI. How we work · Report a mistake