2017-02-16 44 views
0

我試圖運行SQL Server的sys.dm_sql_referencing_entities存儲過程來查看錶和sprocs的依賴關係。我跑sys.dm_sql_referencing_entities爲一個特定的表,myTable1,我知道它有一個特定的存儲過程,mySproc2依賴項。但是,sys.dm_sql_referencing_entities沒有返回。SQL Server的sys.dm_sql_referencing_entities是否要求包含對象?

我注意到在應該返回sys.dm_sql_referencing_entities的存儲過程中,它沒有括號中的myTable。基本上,這是一個簡單的查詢,看起來像SELECT * FROM myTable1而不是SELECT * FROM [myTable1]

會導致sys.dm_sql_referencing_entities不返回mySproc2

回答

0

您在SP中引用表的方式應該沒有關係。

但是,當您應該將表名作爲兩部分名稱(包括架構)傳遞給dm_sql_referencing_entities時。例如:

SELECT * 
FROM sys.dm_sql_referencing_entities ('dbo.Products', 'OBJECT') 

你也應該知道,如果引用是從同一實例不同的數據庫(例如SELECT * FROM Sample.dbo.Produts你不會看到在結果集中該條目

希望它能幫助。 。

相關問題