KB5096981: Cumulative update for SQL Server 2025, CU branch, July 2026. JSON corruption fixes; recovery monitoring can still crash
CU7 fixes 10 issues, including JSON corruption and a crash in recovery monitoring queries. A separate open issue can still cause an access violation when sys.dm_exec_requests runs during database recovery.
Does it affect you? Applies to: SQL Server 2025 instances on Windows or Linux. The package updates only the components already installed on the instance.
Review notes Additional details from the official release notes (1) Read note
-
In short
CU7 fixes intermittent Error 976 or 978 failures in monitoring queries on read-intent-only availability-group secondary replicas. An access violation from querying
sys.dm_exec_requestsduring database recovery remains an open issue.
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 5 changes
High Availability and Disaster Recovery
For: Availability group administrators
-
Monitoring queries on a read-intent-only secondary replica no longer intermittently fail with Error 976 or Error 978.1
Applies to availability groups; the queries use
sys.dm_exec_requestsorsys.sysprocesses.
Programmability
- A time zone-related error written to the error log no longer causes a non-yielding scheduler condition.2
-
ALTER JSON INDEX REORGANIZEno longer generates a dump file when statistics exist on the JSON index's internal table.3 -
JSON corruption during a
JSON_MODIFYoperation caused by an incorrectly calculated node parent offset is fixed.4 -
JSON_MODIFYmerge operations no longer cause corruption or generate a dump file.5
Improvements 3 changes
Universal Communication Stack
Query Execution
-
The
EDIT_DISTANCEfunction limits its calculations to prevent overflow errors that an authenticated user could otherwise use to cause a denial-of-service crash.8Adds logical capping toEDIT_DISTANCE.
New feature 1 change
Universal Communication Stack
-
A new trace flag lets you enable TLS 1.3 without editing the registry.9
Applies to Windows.
Removal 1 change
Integration Services
For: Integration Services administrators
-
The Message Queue task no longer supports the legacy message format, preventing remote code execution from untrusted MSMQ messages.10
Removes support for the legacy
BinaryMessageFormatter(2000 format). Applies to Windows.
Known issues
-
Linked server queries that use MSDASQL fail with error 7416
Linked server queries using the
MSDASQLprovider and a provider string (@provstr) can fail with error 7416. A stricter connection validation check can reject certain configurations, even if earlier builds allowed those connections.11Workaround status No workaround yetMicrosoft has not published a manual workaround for this issue yet. Monitor release health until a resolving update is available.
-
Access violation when you query sys.dm_exec_requests during database recovery
Queries against
sys.dm_exec_requestsmight cause an access violation and generate a dump file while a database is recovering, including duringRESTORE, startup recovery, or before an availability group replica comes online.12How to apply the workaround SQL Trace FlagEnable trace flag 4696 to opt out of the code change, avoid queries against
sys.dm_exec_requestsfor recovering databases, or uninstall this update. With the trace flag enabled, monitoring queries usingsys.dm_exec_requestsorsys.sysprocessesmight return error 976 or 978.12 -
Incorrect behavior of SESSION_CONTEXT in parallel plans
Queries using
SESSION_CONTEXTmight return incorrect results or generate access violation dump files when run in parallel query plans, particularly if the session is reset for reuse.13Workaround status No workaround yetMicrosoft has not published a manual workaround for this issue yet. Monitor release health until a resolving update is available.
Technical details
Data sheet · Security · Downloads · Components Click to collapse or expand
Data sheet
- Released
- 2026-07-16
- Classification
- Updates
- Type
- Cumulative update
- Servicing branch
- CU
- Restart
- Required
- Replaces
- KB5093421, KB5084896, KB5081495, KB5077896
- Replaced by
- KB5104822
| Version | Build | Channel |
|---|---|---|
| 2025 | 17.0.4065.4 | General availability |
Security
No vulnerabilities are listed for this update.
Downloads (Microsoft Update Catalog)
Updated components
207 files changed since the previous update for the same versions.
| Top changed components | Files |
|---|---|
| SQL Server Engine | 37 |
| SQL Server Integration Services | 24 |
| SQL Server Replication | 12 |
| SQL Server Agent | 4 |
| SQL Server Machine Learning Services | 4 |
| SQL Server Full-Text Search | 2 |
| SQL Server PolyBase | 2 |
Sources
Cited passages from Microsoft's official notes (13)
-
1.
Fixes an issue in which monitoring queries that use
support.microsoft.comsys.dm_exec_requestsorsys.sysprocessesintermittently fail and return Error "976" or Error "978" when they run against a read-intent only secondary replica in an availability group. -
2.
Fixes a non-yielding scheduler condition that can occur when SQL Server writes a time zone-related error to the error log.
support.microsoft.com -
3.
Fixes an issue in which
support.microsoft.comALTER JSON INDEX REORGANIZEgenerates a dump file if statistics exist on the internal table of a JSON index. -
4.
Fixes an issue in which the node parent offset is calculated incorrectly and can cause JSON corruption during a
support.microsoft.comJSON_MODIFYoperation. -
5.
Fixes an issue in which a
support.microsoft.comJSON_MODIFYmerge operation can cause corruption and generate a dump file. -
6.
Updates UCS encryption to use the AES-256 algorithm instead of AES-128 if TLS isn't explicitly enabled.
support.microsoft.com -
7.
Strengthens Service Broker dialog encryption by using the AES-256 algorithm.
support.microsoft.com -
8.
Adds logical capping to the
support.microsoft.comEDIT_DISTANCEfunction to prevent overflow errors that an authenticated user could otherwise use to cause a denial-of-service crash. -
9.
Adds a trace flag that lets you enable TLS 1.3 for SQL Server without having to edit the registry.
support.microsoft.com -
10.
Fixes an insecure deserialization vulnerability in the Message Queue task by removing support for the legacy
support.microsoft.comBinaryMessageFormatter(2000 format). This change prevents remote code execution from untrusted MSMQ messages. -
11.
A stricter connection validation check in the Database Engine can reject connections for certain linked server configurations that use the
support.microsoft.comMSDASQLprovider, even if earlier builds allowed those connections. -
12.
Enable trace flag 4696 to opt out of the code change that causes this issue.
support.microsoft.com -
13.
Queries that use the built-in
support.microsoft.comSESSION_CONTEXTfunction might return incorrect results or trigger access violation (AV) dump files when they're run in parallel query plans.
Checked automatically: 8 of 8 checks passed, 13 quoted passages · compared with Microsoft's page on Sep 26, 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