无论你花费多大的努力保持你的数据整洁,有一些时候还是不能如你所愿。DBCC CHECKCONSTRAINTS可以通过检查外键的完整性和约束帮助你找到这些欺诈的数据。下面我们来看看它的语法:
DBCC CHECKCONSTRAINTS
[('table_name'|'constraint_name'
)]
[WITH ]
你可以通过使用表格名或者使用约束名的一个特别的约束来检查表格上的整个约束。
下面的例子检查了一个特殊的表格:
DBCC CHECKCONSTRAINTS ('authors')
Go
下面的例子检查一个特殊的例子:
DBCC CHECKCONSTRAINTS ('PartNo_Fkey')
GO
ALL_CONSTRAINTS参数将在使用表格名的时候会检查可用和不可用的约束。 ALL_ERRORMSGS 参数返回干扰的约束行。
DBCC CHECKCONSTRAINTS 通过构造和执行一个询问语句来工作, 在temp表格中保存一个数据并在表格被检查的时候返回一个数据。.
结果将包括表格名,约束名,和非法的操作。
比如,在顺序表格上运行DBCC
CHECKCONSTRAINT可以获得下面的进程
:
Table Name
Constraint Name Where
----------------- ------------------ -----------------
orders PartNo_Fkey PartNo
= '12'
PartNo='12'现在可以用于 SELECT 语句找到非法约束行。然后,你可以选择删除这个行,赶边这个部分的数字为可接受数字或者改变约束为适应的问题数字。