这个问题及其答案解释了批量插入将如何呈现FK
为不受信任,因为批量插入未完全检查(仅PK
和UNIQUE
s)。我也知道暂时禁用 aFK
可能会导致不受信任的状态。
我当前的项目使用一个相当小的数据库(< 3GB),典型的表数少于 200K 行。但是,完整性非常重要,所以我非常依赖FK
约束(完整性比速度重要得多)。
问题:是否有任何其他机制(除了 disable 和BULK INSERT
)可以产生不受信任的外键?
这个问题及其答案解释了批量插入将如何呈现FK
为不受信任,因为批量插入未完全检查(仅PK
和UNIQUE
s)。我也知道暂时禁用 aFK
可能会导致不受信任的状态。
我当前的项目使用一个相当小的数据库(< 3GB),典型的表数少于 200K 行。但是,完整性非常重要,所以我非常依赖FK
约束(完整性比速度重要得多)。
问题:是否有任何其他机制(除了 disable 和BULK INSERT
)可以产生不受信任的外键?
另一个来源是
MERGE
允许忽略外键约束的错误。这是由 Paul White 报告的,由于无法修复而关闭,此后一直被忽略。这是我长期以来一直反对使用的主要原因之一MERGE
。还有其他可能的情况——我还没有彻底检查这个关于检查约束的问题,看看它是否也会影响 FK,另一个我没有读过的是这个……
虽然她专注于性能方面,但我的同事 Melissa Connors 写了一篇关于查找和修复不受信任的外键的精彩文章: