SQL Server 约束“不可信”

Kon*_*nst 3 sql-server

我最近听到了 \xe2\x80\x9cnot trust\xe2\x80\x9d 这个词:

\n\n
\n

SQL Server 会将约束标记为 \xe2\x80\x9cnot trust\xe2\x80\x9d。

\n
\n\n

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

\n

Nat*_*ths 5

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