Error 644

Severity

21

Message text

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.

NoteThis error may be caused by a hardware problem.

Explanation

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.

Action

To recover from this error, use the following steps to drop and re-create the index.

  1. 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.

  2. 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.

  3. 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.

  4. To verify that all problems have been resolved on this table, run dbcc checktable and dbcc tablealloc on the affected table.

Additional information

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:

Versions in which this error is raised

All versions