Error 601

Severity

21

Message text

Descriptor for system table '%ld' in database  '%d' not found in the descriptor hash table.

Explanation

Adaptive Server expects every database to have a full set of system tables. Error 601 occurs when the Adaptive Server Threshold Manager could not open a system table in a database because the descriptor for the database was not found. The failure to open the system table is usually due to corruption in the database named in the error message.

Action

  1. Determine the name of the database from the database ID in the error message:

    1> use master
    2> go
    
    1> select * from sysdatabases where dbid = <ID>
    2> go
    

    Where <ID> is the database ID from the error message.

  2. Determine whether the system table object ID displayed in the error message exists:

    1> use <database_name>
    2> go
    
    1> select * from sysobjects where id = <object_ID>
    2> go
    

    Where <database_name> is the name from step 1 and <object_ID> is the system table ID listed in the error message.

  3. If the ID exists for the table displayed in the message, then error 601 may be caused by corruption in the memory structure used to hold the descriptor. Shutting down and restarting Adaptive Server should clear the problem. If this does not work, go to step 4.

  4. If the ID does not exist, there is probably corruption in your database. Do the following:

    1. Run dbcc checkalloc, dbcc checkcatalog, and dbcc checkdb for the database.

    2. Determine whether hardware problems exist by checking your operating system error log.

    3. Call Sybase Technical Support to help you recover your database, but you will probably have to recover your database from backups.

Additional information

Before contacting Technical Support, have on hand the information listed in “Reporting errors”, including the output from dbcc checkalloc, dbcc checkcatalog, and dbcc checkdb for the database listed in the error message.

Versions in which this error is raised

All versions