Sql server SQL Server约束为“;不可信”;

Sql server SQL Server约束为“;不可信”;,sql-server,Sql Server,我最近听到了“不受信任”这个词: SQL Server将约束标记为“不受信任” 有人能解释一下这是什么意思吗?我知道这个问题有点模糊,但我想知道这是Microsoft特定的“术语”还是其他关系数据库也使用它?如果禁用约束,然后在未指定WITH CHECK选项的情况下再次启用约束,SQL Server会将该约束标记为“不受信任”因为它不能再依赖约束的存在来保证数据与约束条件一致。这会导致出于执行计划的目的忽略约束,因此最佳做法是在重新启用约束时始终使用WITH CHECK。每次MSSQL无法检查约

我最近听到了“不受信任”这个词:

SQL Server将约束标记为“不受信任”


有人能解释一下这是什么意思吗?我知道这个问题有点模糊,但我想知道这是Microsoft特定的“术语”还是其他关系数据库也使用它?

如果禁用约束,然后在未指定WITH CHECK选项的情况下再次启用约束,SQL Server会将该约束标记为“不受信任”因为它不能再依赖约束的存在来保证数据与约束条件一致。这会导致出于执行计划的目的忽略约束,因此最佳做法是在重新启用约束时始终使用WITH CHECK。

每次MSSQL无法检查约束时:

  • 如果禁用约束并启用而不选中:
    • Alter table nocheck constraintname约束检查
    • Alter table with nocheck-check-constraint-constraintname
  • 如果创建约束,将禁用:
    • Alter table with nocheck add constraint…
  • 如果启用约束,但有违反约束的行
  • 也可以查看违反您可以使用的约束的行

    这可能对您有所帮助