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

Troubleshooting Guide: SQL Server Error 9601

Why This Error Happens

Error 9601 occurs when SQL Server’s query processor attempts to relate two objects (typically during a SELECT INTO, Service Broker conversation, or internal metadata operation) but one of the referenced objects is in an invalid, disabled, or incompatible state for that relationship. This commonly stems from a corrupted or orphaned schema reference, a mismatch between Service Broker conversation handles and dialog states, or stale metadata left behind after an interrupted DDL operation or failed upgrade. In many Windows Server 2025 / SQL Server 2025 environments, this surfaces after an in-place upgrade where system catalog views retain references to objects that no longer match their expected state.

Step-by-Step Resolution Guide

Step 1: Identify the Specific Object and State Referenced in the Error

  • Capture the full error text from SQL Server Error Log at C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG.
  • Note the %.*ls substitution values in the message — this identifies the exact object name and the conflicting state (e.g., “disabled,” “offline,” or “dropped”).
  • Run SELECT * FROM sys.messages WHERE message_id = 9601 AND language_id = 1033; to confirm the exact message template for your build.

Step 2: Check Service Broker and Conversation Endpoints (If Applicable)

  • Run SELECT * FROM sys.conversation_endpoints WHERE state_desc <> 'CONVERSING'; to find endpoints stuck in an invalid state.
  • If broken endpoints are found, end them manually with END CONVERSATION 'conversation_handle' WITH CLEANUP;
  • Disable and re-enable the Service Broker on the affected database using ALTER DATABASE [YourDB] SET DISABLE_BROKER; followed by ALTER DATABASE [YourDB] SET ENABLE_BROKER;

Step 3: Run Consistency and Catalog Validation Checks

  • Execute DBCC CHECKDB('YourDB') WITH NO_INFOMSGS, ALL_ERRORMSGS; to rule out underlying corruption.
  • Run DBCC CHECKCATALOG('YourDB'); to validate consistency between system tables and catalog views.
  • Review output for orphaned schema bindings or mismatched object_id references tied to the error.

Step 4: Rebuild or Drop/Recreate the Affected Object

  • If a specific table, view, or constraint is flagged, script it out using SQL Server Management Studio (SSMS) 21 before making changes.
  • Drop and recreate the object using DROP OBJECT_NAME followed by the original CREATE script.
  • For constraint-related conflicts, verify foreign key and check constraint states using SELECT name, is_disabled FROM sys.foreign_keys; and re-enable with ALTER TABLE ... WITH CHECK CHECK CONSTRAINT ALL;

Step 5: Apply the Latest Cumulative Update

  • Confirm your current build via SELECT @@VERSION; in SSMS or sqlcmd.
  • Download and install the latest Cumulative Update (CU) for SQL Server 2025 from the Microsoft Update Catalog.
  • Restart the SQL Server service via services.msc or Restart-Service MSSQLSERVER in an elevated PowerShell session after installation.

Alternative or Verification Steps

  • Re-run the original query or operation that triggered Error 9601 and confirm it completes without exception; check the ERRORLOG for recurrence over a 24-hour monitoring window.
  • If the issue persists, restore a known-good backup of the affected database to a test instance and compare catalog states using DBCC CHECKCATALOG, isolating whether the corruption originated from the production environment or a specific transaction.