我最近听到“不信任”一词:
SQL Server会将约束标记为“不受信任”。
有没有人可以解释一下这是什么意思?我知道这个问题有点模糊,但我想知道这是否是微软特有的"术语"或者也被其他关系数据库使用?
答案 0 :(得分:3)
如果禁用约束然后再次启用而不指定WITH CHECK选项,则SQL Server会将该约束标记为"不信任"因为它不再依赖于约束的存在来保证数据与约束条件一致。这会导致为执行计划而忽略约束,因此最佳做法是在重新启用约束时始终使用WITH CHECK。
答案 1 :(得分:0)
每次MSSQL都无法检查约束:
Alter table nocheck constraint constraintname
Alter table with nocheck check constraint constraintname
Alter table with nocheck add constraint ...
要查看违反约束的行,您可以使用DBCC CHECKCONSTRAINTS