Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 » SQL Anywhere Server - Database Administration » Maintaining your database

 

Validating databases

Database file corruption may not be confirmed until the database server tries to access the affected part of the database. You should periodically check that your database is valid by using tools such as the Validate Database Wizard in Sybase Central, or the Validation utility (dbvalid). You must have VALIDATE authority to perform validation activities. See VALIDATE authority.

Depending on the options you specify, validation can include checksums, correctness of index data, and whether all table pages belong to objects in the database. Express database validation (the -fx option) does not validate data, continued row structure, or foreign key relationships.

Validation requires exclusive access to the object being validated. For this reason, it is best to validate when there is no other activity on the database. If you can be sure that no transactions are in progress when the backup is being made, the database server does not need to perform recovery steps. In this case, you can perform a validity check on the backup using the read-only database option. See -r dbeng12/dbsrv12 server option.

Tip

Using the BACKUP statement with the WAIT BEFORE START clause ensures that no transactions are in progress when you start a backup.

If a base table in the database file is corrupt, you should treat the situation as a media failure, and recover from your previous backup. If an index is corrupt, you may want to unload the database without indexes, and reload.

 See also

Using checksums to detect corruption
Improving performance when validating databases