Error 2504
Severity Level 16
Message Text
Table Corrupt: The index id in alloc page does not match the index id in Sysindexes (alloc page#=%ld; extent id=%ld; index id in alloc=%ld; index id in Systemindexes=%d)
Explanation
The DBCC CHECKALLOC statement detected a mismatch in the object ID between an allocation structure (extent) and the sysindexes system table.
Note Occasionally, DBCC CHECKALLOC reports this error when no real error condition exists. Run CHECKALLOC in single-user mode if you suspect the 2504 error is incorrect.
Action
Follow these steps:
-
Examine the index ID associated with the page number indicated by the extent# in the message to determine whether the error occurred on the table data or on an index. To find the object ID and the index ID of the object that has the error, see Chapter 24, "Additional Problem-solving Techniques."
-
Restore the database:
-
If the object ID is less than or equal to 100, the error is on a system table. Restore the database from a clean backup.
-
If the object ID is greater than 100, the error is on a user table.
-
If this error occurs on table data (the index ID = 1), restore the database from a clean backup.
-
If the error occurs on an index, you can usually correct it by dropping and re-creating the index. If dropping and re-creating the index is not feasible, or if you cannot drop the index, contact your primary support provider for assistance.
If the problem persists, contact your primary support provider for assistance. Have the output of the appropriate DBCC statements available for review.