Why This Error Happens
Error 9753 occurs when the Service Broker endpoint on the target SQL Server instance cannot be reached over the network, typically due to the TCP endpoint being disabled, stopped, or blocked by a firewall. This can also happen if the Service Broker GUID in the routing information is mismatched after a database restore, or if the SQL Server Browser service and port configuration are not aligned between the initiator and target instances. Certificate or authentication failures during the Service Broker handshake can also cause the endpoint to appear unreachable.
Step-by-Step Resolution Guide
Step 1: Verify the Service Broker Endpoint Is Enabled
- Run
SELECT * FROM sys.service_broker_endpoints;on the target instance to confirm the endpoint exists andstate_descshowsSTARTED. - If stopped, run
ALTER ENDPOINT [Broker_Endpoint] STATE = STARTED;. - Confirm the endpoint is listening on the expected TCP port (default 4022) using
netstat -ano | findstr 4022in an elevated Command Prompt.
Step 2: Check Windows Firewall and Network Path
- Open Windows Defender Firewall with Advanced Security on Windows Server 2025 and confirm an inbound rule exists for TCP port 4022.
- If missing, create one:
New-NetFirewallRule -DisplayName "SQL Server Service Broker" -Direction Inbound -Protocol TCP -LocalPort 4022 -Action Allowin PowerShell (run as Administrator). - Test connectivity from the initiator server using
Test-NetConnection -ComputerName <TargetServerName> -Port 4022.
Step 3: Validate Routing and Broker Identifiers
- Query
SELECT * FROM sys.routes;on both the initiator and target databases to ensure theaddressandbroker_instancevalues match the actual Service Broker GUID (SELECT service_broker_guid FROM sys.databases WHERE name = 'YourDB';). - If the database was restored or copied, recreate the route with the correct GUID using
ALTER ROUTE. - Ensure the
ADDRESSin the route points to the correct hostname/IP and port (e.g.,TCP://TargetServer:4022).
Step 4: Review Certificate and Authentication Settings
- If using certificate-based authentication, confirm certificates haven’t expired by checking
SELECT name, expiry_date FROM sys.certificates;on both instances. - Re-export and re-import the public key certificates between initiator and target if a mismatch is found.
- Restart the SQL Server service (
services.mscorRestart-Service MSSQLSERVER) after certificate updates to apply changes.
Alternative or Verification Steps
- Run
SELECT * FROM sys.transmission_queue;on the initiator to confirm thetransmission_statuscolumn no longer shows the 9753 error message after applying fixes. - If the issue persists, temporarily use
NET.TCP::loopback testing on the same server to isolate whether the issue is network-based or configuration-based within SQL Server itself.