2010-07-30 43 views
3

我有一個有數千個對象的人工遺留數據庫。我真的想要刪除113個表,但我需要獲得需要修改或刪除的依賴關係的完整列表。有沒有辦法做到這一點? SSMS中的「視圖依賴」UI將會耗費太長時間。我在想的是將113個表的名稱放在一個表中,然後將它與sql_expression_dependencies結合起來以獲得所有的依賴關係,然後遞歸直到我找到它們。這似乎很好,但它似乎並沒有返回依賴於我的表格的表名稱。它只返回SP,FUNCTION等,任何想法如何擴充這個以包含所有的依賴類型?用於獲取SQL對象上的所有SQL依賴關係的SQL腳本

回答

0

識別單個SQL Server數據庫中的所有「相關」對象 - 表,視圖,過程,函數等。人。 (觸發器,同義詞,甚至更晦澀的obejcts)是一件非常困難的事情(如果你使用動態SQL,除了不可能的事情)。我見過的最好的解決方案是通過數據庫進行訪問的第三方公用程序,我必須想象,通過解析和檢查的所有內容來暴力破解問題。

我在SQL 7.0/2000天(「SQL Cast」)中使用了一個非常令人印象深刻的工具,但可惜它似乎不再存在。 RedGate目前有這樣的工具,SQL Dependency Tracker,但我沒有使用它。