Error 945

Severity

21

Message text

Unable to locate page %ld for database id %d in the in-memory copy of Sysusages (spid=%ld). This is an internal error. Please contact Sybase Technical Support.

NoteThis error can be caused by a hardware problem.

Explanation

When the Adaptive Server Open Database Manager requests a page (for allocating extents and a number of other operations), it receives a page number and a pointer to a disk map array. It then determines the index of the map element that contains the target page and returns that index. When Adaptive Server cannot find the requested page number in the database disk map array, error 945 occurs.

Possible causes of error 945 are:

Action

  1. Shut down and restart Adaptive Server. If the corruption is in memory, this should clear the 945 error. If error 945 persists, go on to step 2.

  2. Check your record of sysusages information for the database in the error message against what is currently in master..sysusages. (If you do not have a record of your sysusages information, try:

    sp_help <database_name>
    

    to get a subset of the sysusages information.) To determine the sysusages information currently held by Adaptive Server, type:

    1> select * from sysusages where dbid = <database_ID>
    2> go
    

    where <database_ID> is the number from the error message output.

  3. If the information you have on record for that database does not match the information currently in sysusages, refer to “Rescuing data from a corrupted table” in the chapter “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery for information about restoring a corrupted sysusages table.

  4. If the information you have on record for that database matches what is currently in sysusages, the database specified in the error message is corrupt. Restore the database from known, clean backups.

Versions in which this error is raised

All versions