這是一個三步過程。仍然不完美,但有助於消除一些差距。假設您正在查找表「WidgetUser」的依賴關係:
首先,獲取可能引用該表的所有模塊的列表。將查詢結果輸出到文本:
select 'EXEC sys.sp_refreshsqlmodule ''dbo.' + OBJECT_NAME(m.object_id) + ''''
from sys.sql_modules m
where m.definition like '%WidgetUser%'
接下來,粘貼輸出文本並運行更新。這將是這樣的:
EXEC sys.sp_refreshsqlmodule 'dbo.up_WidgetUser_Select'
EXEC sys.sp_refreshsqlmodule 'dbo.up_WidgetUser_Update'
EXEC sys.sp_refreshsqlmodule 'dbo.WidgetUserView'
EXEC sys.sp_refreshsqlmodule 'dbo.ufx_WidgetUser_Fooinize'
...
現在,您的依賴是高達最新,運行sp_depends
:
EXEC sp_depends @objname = N'dbo.WidgetUser'
http://sqlblog.com/blogs/aaron_bertrand/archive/2008/09/09/keeping-sysdepends-up-to-date-in-sql-server-2008。aspx –