How to fix Error 8462 on Windows Server 2025 / Windows 11

Troubleshooting Guide: SQL Server Error 8462 — “Remote Conversation Endpoint” Service Broker Error

Why This Error Happens

Error 8462 occurs when Service Broker attempts to send a message to a conversation endpoint that has already been ended, errored out, or has reached a state where it no longer accepts incoming messages. This typically happens due to a mismatch between the local and remote conversation states, often caused by an application ending a dialog prematurely, a transmission queue backlog, or corrupted conversation metadata in sys.conversation_endpoints. Network interruptions between SQL Server instances (or improperly configured routes/certificates) can also leave endpoints “stranded” in a dead-end state.

Step-by-Step Resolution Guide

Step 1: Identify the Problematic Conversation Endpoint

  • Run the following query to locate endpoints stuck in an error or abnormal state:
SELECT conversation_handle, far_service, state, state_desc, lifetime 
FROM sys.conversation_endpoints 
WHERE state NOT IN ('CO');
  • Note the conversation_handle and state_desc values (commonly ER for Errored or DI for Disconnected Inbound).
  • Check the transmission_queue for stalled messages: SELECT * FROM sys.transmission_queue;

Step 2: Clear Corrupted or Stuck Conversations

  • End the problematic dialogs manually to release the endpoint state:
END CONVERSATION 'conversation_handle_value' WITH CLEANUP;
  • If the endpoint is on the remote server, repeat the diagnostic query on the target instance and end the matching conversation there as well.
  • Restart the SQL Server Service Broker task via:
ALTER DATABASE [YourDatabaseName] SET DISABLE_BROKER;
ALTER DATABASE [YourDatabaseName] SET ENABLE_BROKER;

Step 3: Validate Network and Certificate Configuration

  • On Windows Server 2025, open Windows Defender Firewall with Advanced Security and confirm the Service Broker port (default 4022) is allowed for both inbound and outbound rules.
  • Verify endpoint certificates haven’t expired:
SELECT name, expiry_date FROM sys.certificates;
  • Re-establish trust between instances by re-running CREATE ROUTE and CREATE REMOTE SERVICE BINDING if certificates were renewed.

Step 4: Rebuild the Application-Level Message Queue Logic

  • Ensure application code includes proper TRY...CATCH blocks around SEND ON CONVERSATION calls to gracefully handle Error 8462 without crashing the process.
  • Implement conversation handle validation checks before sending additional messages to avoid re-triggering the error on already-closed endpoints.

Alternative or Verification Steps

  • Verify the fix by resending a test message through the affected service and confirming it appears correctly in the target queue using SELECT * FROM [YourQueueName];.
  • If the issue persists, drop and recreate the Service Broker services and queues from scratch (DROP QUEUE, DROP SERVICE, then recreate), ensuring no orphaned conversation groups remain in sys.conversation_groups.