Microsoft KB Archive/63864

PRB: SQL Server DBCC Checkalloc & Error Message 2540 ID Number: Q63864

1.10 1.11 4.20 OS/2

Summary:

SYMPTOMS When the command “DBCC Checkalloc (database_name)” is executed, the following error message is received:

Msg 2540, Level 16, State 1: Table Corrupt: Page allocated in extent but not linked in page chain; id=10752 logical pg#=10757 object id on extent=28527135 (object name = teile2) indid on extent=0

According to the error message listed above, the data in the database appears to be corrupt.

CAUSE Although the text of this error message indicates that the table is corrupt, it need not necessarily be so. Error message 2540 indicates that a 2K page of empty disk space has been allocated for a table but it is not linked into a page chain and therefore cannot be accessed.

The correct procedure to use to resolve this problem is to drop, re-create, and re-populate the table.

The behavior of DBCC Checkalloc is such that when it first encounters error message 2540, it stops evaluation of the database. Thus, it is possible that after corrective procedures have been taken, a second execution of “DBCC Checkalloc” will report an error 2540 on another table.

Additional reference words: dbcc commands, database repair