21
Index row entry for data row id (%ld, %d) is missing from index page %ld of index id %d of table '%S_OBJID' in database '%S_DBID'. Xactid is (% ld,%d). Drop and re-create the index.
This error may be caused by a hardware problem.
This error occurs when the nonclustered index indicated by “index id” is corrupt. This corruption is detected when a process tries to delete a nonexistent row.
To recover from this error, use the following steps to drop and re-create the index.
Record the value of “index page” and “index ID” specified in the 644 error text. Then follow the instructions in “Finding an object name from a page number” in the chapter “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery to identify which table and index correspond to the index page number. Also note the object ID.
If the object with the error is a system table (its object ID is less than 100), refer to “Fixing a corrupted system table index” in the chapter “Other Useful Tasks” in the most recent version of the Troubleshooting and Disaster Recovery guide for instructions on how to repair the system table index. Then go to step 4.
If the object ID is greater than 100, drop and re-create the index, using the table name and the index name obtained in step 1. This clears the corruption in most cases.
To verify that all problems have been resolved on this table, run dbcc checktable and dbcc tablealloc on the affected table.
If problems persist, this procedure may not be sufficient to clean up the index corruption, and you should contact Sybase Technical Support. Have the following information ready:
Server version and SWR version level
Server error log
Output of dbcc tablealloc and dbcc checktable
Text of all error messages
All versions