2012-07-12 61 views

回答

3
SELECT OBJECT_SCHEMA_NAME(object_id), 
    OBJECT_NAME(object_id) 
FROM sys.sql_modules 
WHERE [definition] LIKE '%table name%'; 

這比依賴性視圖更可靠,因爲那些依賴的對象是以正確的順序編譯的。

但也有一些注意事項:


這對誤報當然,潛在的,因爲你可以有

-- table name 

或者你要搜索的表名可能是即使它沒有引用特定的表,它也是自然出現在其他代碼中的一個常用詞。


這可能會漏掉引用,如果您動態構建字符串或將表名稱傳遞給動態SQL。

0

如果您使用SSMS,只需右鍵單擊對象資源管理器中的表格並選擇「查看依賴關係」。

+1

由於各種原因,這並非全部可靠。 http://sqlblog.com/blogs/aaron_bertrand/archive/2008/09/09/keeping-sysdepends-up-to-date-in-sql-server-2008.aspx – 2012-07-12 15:04:20

+0

我早些時候試過這個選項,但我剛剛得到消息說發現失敗 – sanika 2012-07-12 15:17:30