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 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

VALIDATE 语句

此语句用于校验当前数据库,或校验当前数据库中的单个表或实例化视图。

语法 1 - 校验表和实例化视图。
VALIDATE { 
TABLE [ owner.]table-name
   | MATERIALIZED VIEW [ owner.]materialized-view-name }
[ WITH EXPRESS CHECK ]
语法 2 - 校验数据库
VALIDATE { CHECKSUM | DATABASE }
语法 3 - 校验索引
 VALIDATE {
INDEX index-name 
| [ INDEX ] FOREIGN KEY role-name 
| [ INDEX ] PRIMARY KEY  }
ON [ owner.]object-name
}
object-name : 
table-name 
| materialized-view-name
参数
  • WITH EXPRESS CHECK   除缺省检查外,还检查表或实例化视图中的行数与索引中的条目数是否匹配。此选项不为每个行执行单独的索引查找,也不执行校验和校验。当使用较小的高速缓存校验大数据库时,此选项可以显著提高校验性能。

注释

表的校验包括校验和校验,以及表中的行数与该表关联的每个索引中的行数相匹配的校验。当指定 WITH EXPRESS CHECK 时,将不执行校验和校验。

VALIDATE DATABASE 语句校验数据库中的所有表页是否属于正确的对象。VALIDATE DATABASE 还执行校验和校验,但不校验索引或检查数据的正确性。

使用 VALIDATE CHECKSUM 语句在数据库上执行校验和校验。VALIDATE CHECKSUM 语句可确保数据库页没有在磁盘上被修改。创建启用了校验和的数据库时,在将每一数据库页写入磁盘前会为其计算校验和。VALIDATE CHECKSUM 从磁盘读取每个数据库页,然后为每页计算校验和。如果为页面计算出的校验和与存储的该页面的校验和不匹配,就会发生错误,并在数据库服务器消息窗口中显示关于该无效页的信息。VALIDATE CHECKSUM 语句在禁用了校验和的数据库上也很有用,因为重要数据库页仍然包括校验和。

VALIDATE CHECKSUM 语句用于在表或实例化视图上校验索引(包括索引统计信息)。VALIDATE INDEX 语句可确保索引中引用的各行确实存在。对于外键索引,还要确保主表中存在相应的行。这种检查补充了由 VALIDATE TABLE 语句执行的有效性检查。VALIDATE INDEX 语句还校验为指定索引报告的统计信息是否准确。如果不准确,将产生一个错误。

小心

应在没有任何连接对数据库进行更改时对表或整个数据库进行校验;否则,可能会报告错误,指出某种形式的数据库损坏,而实际上并没有任何损坏。

权限

必须具有 DBA 或 VALIDATE 权限。

副作用

无。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。