16
The first page %ld in sysindexes for table '%.*s' has previous page # %ld in its page header. The previous page # should be NULL. Please check sysindexes.
In Adaptive Server Enterprise version 15.0 and later,
error 9923 (“The first page %ld
in syspartitions for partition %ld of table '%.*s'
has previous page # %ld in its page header. The previous
page # should be NULL
”) has
replaced error 2578.
The syspartitions table lists each table and index partition and the segment where the partition is stored. syspartitions maintains key storage management information, such as the first page of a data or index page chain, the last page of a heap, the root page of an index partition, and so on.
Adaptive Server expects to find a value of zero for the previous page number on the first page for a table (meaning that there are no prior pages in the page chain). Error 2578 is raised when dbcc checktable or dbcc checkdb is run, and the previous page number in the table’s first page is not zero. This error is caused by an incorrect first page value for the table in sysindexes, or corruption in the table’s first page.
If the object with the error is a system table, call Sybase Technical Support. They may be able to help you repair the corruption, but it may be necessary to restore from clean backups.
If the table is a user table, and this is the only error message you see when you run dbcc checktable or dbcc checkdb, it is likely that the table’s first page entry in sysindexes is incorrect. Use one of these options to recover from the problem:
Select the table data into a new table, drop the old table, and rename the new table to the old table name. Run dbcc checktable to check that the problem has been resolved.
Bulk copy the affected table out, drop and re-create the table, and bulk copy back in. This is the most efficient solution for a very large table. Run dbcc checktable to confirm that the problem is resolved.
For more information about how to copy a table in a new table or file, refer to “Rescuing data from a corrupted table” in the chapter “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery.
If you see other errors in addition to error 2578, the problem may be more extensive. Follow the instructions in this manual for handling those errors.
Before calling Sybase Technical Support, have the information listed in “Reporting errors” available, including the output of dbcc checktable or dbcc checkdb.
Version 12.5.x and earlier, and error 9923 in version 15.0 and later