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

Why This Error Happens

Error 2593 is a DBCC informational message that reports the row and page count for a table or index during a DBCC CHECKTABLE or DBCC CHECKDB operation. It is not inherently a failure, but it frequently surfaces alongside consistency errors when the reported row count does not match the count stored in the sys.partitions metadata, indicating potential page-level corruption, an interrupted index rebuild, or a mismatch caused by improper shutdown of the SQL Server 2025 service. On Windows Server 2025, this discrepancy is often triggered by storage subsystem issues, antivirus interference with .mdf/.ldf files, or allocation unit corruption from an unexpected power loss.

Step-by-Step Resolution Guide

Step 1: Run a Full Consistency Check

  • Open SQL Server Management Studio (SSMS) or sqlcmd and connect to the affected instance.
  • Execute DBCC CHECKDB ('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS;
  • Review the output for any accompanying error codes (e.g., 8928, 8944) that indicate actual corruption rather than just the informational row/page count.

Step 2: Isolate and Validate the Specific Object

  • Identify the table referenced in the %.*ls portion of the message from the DBCC output.
  • Run DBCC CHECKTABLE ('SchemaName.TableName') WITH NO_INFOMSGS, ALL_ERRORMSGS; to confirm if the row/page mismatch is isolated to this object.
  • Cross-reference the row count against SELECT * FROM sys.dm_db_partition_stats WHERE object_id = OBJECT_ID('SchemaName.TableName'); to check for metadata drift.

Step 3: Correct Metadata or Rebuild Indexes

  • If no structural corruption is found, execute DBCC UPDATEUSAGE ('YourDatabaseName') WITH COUNT_ROWS; to resync the row/page counters in sys.partitions.
  • If an index is suspected to be stale, rebuild it using ALTER INDEX ALL ON SchemaName.TableName REBUILD;
  • Ensure the SQL Server data file path (typically C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA) is excluded from Windows Defender real-time scanning to prevent file locking during the rebuild.

Step 4: Restore From Backup (If Corruption Confirmed)

  • If DBCC CHECKDB returns actual corruption errors (not just the 2593 informational message), stop the SQL Server service via services.msc or net stop MSSQLSERVER.
  • Restore the affected database from the last known good backup using RESTORE DATABASE YourDatabaseName FROM DISK = 'E:\Backups\YourDatabaseName.bak' WITH REPLACE;
  • Re-run DBCC CHECKDB post-restore to confirm the object is clean.

Alternative or Verification Steps

  • Re-run DBCC CHECKDB ('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS; after remediation; a clean pass with zero allocation or consistency errors confirms the fix.
  • If row/page counts continue to drift after UPDATEUSAGE, check the Windows Event Viewer (Application log) for underlying disk I/O warnings (Event ID 153 or 129), as this points to a storage-level issue rather than a SQL Server metadata problem.