检查当前数据库中指定表上的指定约束或所有约束的完整性。
Transact-SQL 语法约定 语法
DBCC CHECKCONSTRAINTS[ ( table_name | table_ID | constraint_name | constraint_ID )] [ WITH [ { ALL_CONSTRAINTS | ALL_ERRORMSGS } ] [,] [ NO_INFOMSGS ] ]参数 table_name | table_ID | constraint_name | constraint_ID
要检查的表或约束。如果指定了 table_name 或 table_ID,将对该表中所有启用的约束进行检查。如果指定了 constraint_name 或 constraint_ID,则只对该约束进行检查。如果表标识符或约束标识符都未指定,则对当前数据库中所有表上的已启用约束进行检查。
约束名称唯一地标识其所属于的表。有关详细信息,请参阅标识符。
WITH启用要指定的选项
ALL_CONSTRAINTS如果指定了表名或检查所有的表,则对表上所有启用及禁用的约束进行检查;否则,仅对启用的约束进行检查。如果指定了约束名,则 ALL_CONSTRAINTS 无效。
ALL_ERRORMSGS返回所检查的表中违反约束的所有行。默认为前 200 行。
NO_INFOMSGS取消显示所有信息性消息。
注释DBCC CHECKCONSTRAINTS 构造并执行一个对表的所有 FOREIGN KEY 和 CHECK 约束的查询。
例如,外键查询可具有如下形式:
SELECT <columns>FROM <table_being_checked> left JOIN <referenced_table> ON <table_being_checked.fkey1> = <referenced_table.pkey1> AND <table_being_checked.fkey2> = <referenced_table.pkey2>WHERE <table_being_checked.fkey1> IS NOT NulL AND <referenced_table.pkey1> IS NulL AND <table_being_checked.fkey2> IS NOT NulL AND <referenced_table.pkey2> IS NulL
查询数据存储在临时表中。检查完所有请求的表和约束后,将返回结果集。
DBCC CHECKCONSTRAINTS 检查 FOREIGN KEY 和 CHECK 约束的完整性,但并不检查表的磁盘上数据结构的完整性。可使用 DBCC CHECKDB 和 DBCC CHECKTABLE 执行这些数据结构检查。
结果集DBCC CHECKCONSTRAINTS 返回带有以下列的行集。
列名 | 数据类型 | 说明 |
---|---|---|
table name | varchar | 表的名称。 |
Constraint name | varchar | 违反的约束名。 |
Where | varchar | 标识违反约束的行的列值分配。 该列中的值可以用于 SELECT 语句(用于查询违反约束的行)的 WHERE 子句中。 |
要求拥有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员身份。
示例 A. 检查表以下示例检查 AdventureWorks2008R2 数据库中的 table1 表的约束完整性。
Transact-SQLUSE AdventureWorks2008R2;GOCREATE table table1 (Col1 int,Col2 char (30));GOINSERT INTO table1 VALUES (100,'Hello');GOALTER table table1 WITH NOCHECK ADD CONSTRAINT chkTab1 CHECK (Col1 > 100);GODBCC CHECKCONSTRAINTS(table1);GOB. 检查特定约束
以下示例检查 CK_ProductCostHistory_EndDate 约束的完整性。
Transact-SQLUSE AdventureWorks2008R2;GODBCC CHECKCONSTRAINTS ("Production.CK_ProductCostHistory_EndDate");GOC. 检查所有表的所有启用和禁用的约束
以下示例检查当前数据库中所有表上的所有启用和禁用约束的完整性。
Transact-SQLDBCC CHECKCONSTRAINTS WITH ALL_CONSTRAINTS;GO总结
以上是内存溢出为你收集整理的DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKCONSTRAINTS检查当前数据库中指定表上的指定约束或所有约束的完整性全部内容,希望文章能够帮你解决DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKCONSTRAINTS检查当前数据库中指定表上的指定约束或所有约束的完整性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)