2010-12-22 60 views
0

我得到在SQL Server 2008的錯誤消息(引入一個新的FK時):SQL服務器:在介紹表「T」外鍵約束「FK_T」可能會導致循環或多個級聯路徑

將外來KEY約束 「FK_T」表「T」可能會導致循環 或多個級聯路徑

我理論的理解,我無法從多條路徑來同桌。我的問題是我的數據庫結構相當複雜,已經在這個表上設置了很多FK到其他表和其他表。是否有一些查詢可以告訴我問題出在哪裏?

我能想到的,到目前爲止最好是

for each FK on my table: 
BEGIN TRANSACTION 
    DROP FK 
    ADD MY NEW FK 
    --see if it breaks 
ROLLBACK 

然後分析上表,打破了「添加新FK」以同樣的方式FK。必須有更好的方法...

+0

什麼版本的SQL Server?有一些系統視圖和存儲過程可用於查看可能有所幫助的依賴關係。 – JNK 2010-12-22 19:30:41

回答

1

在SQL Server管理工作室中,您可以右鍵單擊任何對象並選擇顯示依賴關係。這會告訴你什麼依賴於該對象以及該對象依賴於什麼。

//編輯 SSMS使用SMO,所以我不確定這是否可以用純SQL完成,但可能它是可能的。

相關問題