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

Troubleshooting Guide: Error 8655 – Query Processor Unable to Produce a Plan Due to Disabled Index

Why This Error Happens

This error occurs when the SQL Server query optimizer attempts to generate an execution plan but encounters an index that has been explicitly disabled, typically via an ALTER INDEX ... DISABLE statement, and no alternative viable index or table scan path exists to satisfy the query. This commonly happens after a clustered index is disabled, which renders the entire underlying table inaccessible to queries since all nonclustered indexes depend on the clustered index structure. It can also surface after an incomplete index rebuild operation, a failed maintenance script, or a migration process that disabled indexes for bulk load performance but never re-enabled them afterward.

Step-by-Step Resolution Guide

Step 1: Identify the Disabled Index

  • Open SQL Server Management Studio (SSMS) and connect to the affected SQL Server 2025 instance.
  • Run the following query to locate disabled indexes: SELECT name, object_id, is_disabled FROM sys.indexes WHERE is_disabled = 1;
  • Note the exact index name and the table or view referenced in the original Error 8655 message.

Step 2: Rebuild or Re-enable the Disabled Index

  • Execute ALTER INDEX [IndexName] ON [SchemaName].[TableName] REBUILD; to rebuild and re-enable the specific index.
  • If multiple indexes are disabled on the same table, use ALTER INDEX ALL ON [SchemaName].[TableName] REBUILD; to rebuild all indexes at once.
  • For large tables, consider adding WITH (ONLINE = ON, MAXDOP = 4) to minimize blocking during the rebuild on production systems.

Step 3: Check for Scripts or Jobs That Disabled the Index

  • Review SQL Server Agent Jobs in SSMS under SQL Server Agent > Jobs for any maintenance plans that include ALTER INDEX ... DISABLE commands.
  • Inspect ETL or migration scripts stored on the Windows Server 2025 file system, typically under C:\Scripts\ or C:\SSIS_Packages\, for leftover disable statements without matching rebuild steps.
  • Correct the script logic to ensure every DISABLE call has a corresponding REBUILD or ENABLE step later in the process.

Step 4: Validate Database Integrity

  • Run DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS; to rule out underlying corruption that may have triggered the index disable state.
  • Review the SQL Server Error Log at C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG for related corruption or I/O warnings.

Alternative or Verification Steps

  • Re-run the original failing query or stored procedure to confirm the query processor now generates a valid execution plan without Error 8655.
  • As a verification check, re-query sys.indexes to confirm is_disabled returns 0 for the affected index, and review sys.dm_db_index_physical_stats to confirm the index is healthy and not fragmented.