Why This Error Happens
Error 8459 occurs when SQL Server’s Service Broker attempts to send a message that exceeds the maximum allowable message size defined for the conversation or dialog. This typically happens due to oversized XML payloads, binary data, or serialized objects being passed through a Service Broker queue without proper chunking. It can also surface after a Windows Server 2025 update changes default network packet handling, causing previously valid message sizes to now be rejected by the Broker protocol handler.
Step-by-Step Resolution Guide
Step 1: Verify the Message Size Limit in Service Broker
- Open SQL Server Management Studio (SSMS) and connect to the affected instance.
- Run
SELECT * FROM sys.service_broker_endpoints;to check current endpoint configuration. - Confirm whether the message exceeds the default 4 GB limit (rare) or a custom application-level cap set in your contract definitions.
Step 2: Inspect and Adjust the Message Type Validation
- Navigate to Databases > Service Broker > Message Types in SSMS Object Explorer.
- Check if
VALIDATIONis set toWELL_FORMED_XMLorVALID_XML_WITH_SCHEMA, as malformed large payloads often trigger 8459 during validation. - Run the following to inspect message type definitions:
SELECT name, validation FROM sys.service_message_types;
- If the payload must remain large, split it into multiple smaller messages using application-side chunking logic before sending via
SEND ON CONVERSATION.
Step 3: Update SQL Server 2025 Cumulative Update
- Open Windows Update or SQL Server Setup on Windows Server 2025 / Windows 11 and check for the latest Cumulative Update (CU).
- Path:
Control Panel > Programs > Programs and Features > Microsoft SQL Server 2025 > Uninstall/Change > Check for Updates. - Apply the latest CU, as several early 2025 builds had a known regression in Service Broker packet fragmentation handling.
Step 4: Review Network Packet Size Settings
- Open SQL Server Configuration Manager.
- Go to SQL Server Network Configuration > Protocols for [InstanceName] > TCP/IP.
- Confirm the Packet Size value under the SQL Server instance properties (Advanced tab) is not set below the default 4096 bytes, which can cause fragmentation errors with large Broker messages.
- Restart the SQL Server service after any changes:
Restart-Service MSSQLSERVER(PowerShell, run as Administrator).
Alternative or Verification Steps
- Run a test transmission using
BEGIN DIALOGandSENDwith a known small payload to confirm the queue processes messages without triggering Error 8459. - If the issue persists, check sys.transmission_queue for stuck messages and clear them using
END CONVERSATIONwith theWITH CLEANUPoption to reset the Broker session state.