2009-12-12 43 views

回答

3

在SSMS中,只需右鍵單擊表並選擇「查看依賴關係」。至於腳本,看看this article

編輯:在SSMS中,你只能看到它一個。原因是因爲運行查看它們的存儲過程只需要一個數據庫對象。因此,爲了編寫多個腳本,您只需使用多行EXEC sp_depends @objname = N'DATABASE.OBJECT';作爲您想獲得依賴關係的表/視圖/存儲過程/函數。一種方法是使用腳本像下面這樣獲得,將有所有依賴對象的唯一列表將包括:

CREATE TABLE #dependents (obj_name nvarchar(255), obj_type nvarchar(255)) 

-- Do this for every primary object you're concerned with finding dependents for 
INSERT INTO #dependents (obj_name, obj_type) 
EXEC sp_depends @objname = N'DATABASE.OBJECT' 
-- ... 

SELECT DISTINCT obj_name, obj_type 
FROM #dependents 

DROP TABLE #dependents 
+0

@Agent:獲得了SSMS部分。該鏈接將討論如何查看單個表的依賴關係。我試圖找到一組表的依賴關係。我無法在SSMS中選擇多個表並查看依賴關係。任何想法如何使用SSMS或SQL查詢來完成這項工作? – pencilslate 2009-12-12 23:55:17

+0

@pencilslate:看看我的編輯獲取對象列表。我認爲可能有更簡潔的寫法,但目前它正在逃避我。 – 2009-12-13 15:34:13

0

我只是博客與此類似,可以幫助: Knowing What to Test When Changing a SQL Server Object

另一種方法是右鍵單擊數據庫並選擇「任務」,然後選擇「生成腳本...」,選中「在所選數據庫中腳本所有對象」複選框。這會給你一個巨大的文本文件,然後你可以搜索。