Sql-Server

除了 FK 禁用和 BULK 插入之外,是否還有其他不受信任的外鍵來源?

  • May 7, 2020

這個問題及其答案解釋了批量插入將如何呈現FK為不受信任,因為批量插入未完全檢查(僅PKUNIQUEs)。我也知道暫時禁用 aFK可能會導致不受信任的狀態。

我目前的項目使用一個相當小的數據庫(< 3GB),典型的表數少於 200K 行。但是,完整性非常重要,所以我非常依賴FK約束(完整性比速度重要得多)。

**問題:**是否有任何其他機制(除了 disable 和BULK INSERT)可以產生不受信任的外鍵?

另一個來源是MERGE允許忽略外鍵約束的錯誤。這是由 Paul White 報告的,以 Won’t Fix 的形式關閉,此後一直被忽略。這是我長期以來一直反對使用的主要原因之一MERGE

還有其他可能的情況——我還沒有徹底檢查過這個關於檢查約束的情況,看看它是否也會影響 FK,而我沒有讀過的另一個是這個……

雖然她專注於性能方面,但我的同事 Melissa Connors 寫了一篇關於查找和修復不受信任的外鍵的精彩文章:

引用自:https://dba.stackexchange.com/questions/166662