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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 维护数据库 » 备份和数据恢复

 

校验备份

在数据库服务器尝试访问数据库的受影响部分之前,数据库文件的损坏情况可能并未得到确认。作为您备份和恢复计划的一部分,应通过使用诸如 Sybase Central 中的 [校验数据库向导] 或校验实用程序 (dbvalid) 之类的工具定期检查数据库是否有效。在执行备份之前和之后均应校验数据库。必须拥有 VALIDATE 权限才能执行校验活动。请参见VALIDATE 特权

当启动数据库的备份副本以对其进行校验时,可使用 -ds 数据库选项指定 dbspace 文件和事务日志的位置。这可允许您启动原数据库所在计算机上的数据库的备份副本,同时原数据库保持运行。请参见-ds 数据库选项

根据指定的选项,校验可以包括校验和、索引数据的正确性,以及数据库中的所有表页是否属于对象。快速数据库校验(-fx 选项)不校验数据、连续行结构或外键关系。

小心

不得以任何方式更改数据库和事务日志的备份副本。如果在备份过程中未执行任何事务,或者指定了 BACKUP DATABASE WITH CHECKPOINT LOG RECOVER 或 WITH CHECKPOINT LOG NO COPY,则可以使用只读模式或通过验证备份数据库的副本来验证备份数据库的有效性。

但是,如果有正在执行的事务,或者指定了 BACKUP DATABASE WITH CHECKPOINT LOG COPY,则当您启动数据库服务器时,数据库服务器必须执行数据库恢复。恢复功能会修改备份副本,这是不希望出现的情况。

如果您能够确定在备份过程中未执行任何事务,则数据库服务器无需执行恢复步骤。在这种情况下,您可以使用只读数据库选项对备份执行有效性检查。请参见-r 服务器选项

提示

使用 BACKUP 语句时结合 WAIT BEFORE START 子句可确保在开始备份时没有任何事务在执行。

校验要求以独占方式访问进行校验的对象。因此,最好在数据库中无其它活动时进行校验。

如果数据库文件中的基表损坏,则将其视为介质故障,并从以前的备份中恢复。如果索引损坏,最好先卸载没有索引的数据库,然后重装。

另请参见