回答
您可以使用sys.sql_dependencies
:
select object_name(object_id),*
from sys.sql_dependencies
where referenced_major_id = object_id('<tablename>');
這將列出依賴於表中的所有對象,您可以通過加入針對sys.views
限制這觀點:
select v.*
from sys.sql_dependencies d
join sys.views v on d.object_id = v.object_id
where referenced_major_id = object_id('<tablename>');
下面是一些由不知名提供從link實例(如果該網站消失計算器做之前)
對於SQL Server 2005年,右鍵單擊表名稱並選擇「視圖依賴性」
一對夫婦的SQL只用於SQL Server提到的方法:
SELECT routine_name, routine_type FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%Employee%'
EXEC sp_depends @objname = N'HumanResources.Employee' ;
你必須搜索代碼,只有兩個選項。請參閱下面的評論爲什麼其他方法不可靠。
select
object_name(m.object_id), m.*
from
sys.sql_modules m
where
m.definition like N'%my_view_name%'
,或者使用OBJECT_DEFINITION
syscomments和INFORMATION_SCHEMA具有爲nvarchar(4000)列。所以如果在位置3998使用「myViewName」,它將不會被找到。 syscomments確實有多行,但ROUTINES截斷。
在SQL Server 2000中,sys.depends是不可靠的,這影響了菜單中的「查看依賴關係」。我不知道在SQL 2005+中它是否更好。示例:視圖使用表,表被刪除並重新創建,具有不同的目標,依賴性=破壞。
依賴性在2005年和2008年仍然很容易打破。我寫了一篇關於去年的文章:http://is.gd/4pqU8 – 2009-10-18 16:11:23
在SQL Server 2005中,您可以使用sys.sql_dependencies和蠻力解析對象文本的組合(如在gbn的答案中)。有關SQL Server 2005和的依賴關係的詳細信息,請參閱http://msdn.microsoft.com/en-us/library/ms345449(SQL.90).aspx
在SQL Server 2008中,有新的依賴的DMV和那些比以前的方法更可靠一點目錄視圖(sys.dm_sql_referenced_entities/sys.dm_sql_referencing_entities/sys.sql_expression_dependencies) ,但打破它們仍然很容易。
請參閱this article瞭解使這項工作更好的一些想法。另請參閱http://msdn.microsoft.com/en-us/library/bb677168.aspx
@kmoormann感謝編輯,這回去了 – 2014-01-30 17:58:56
- 1. 與視圖相關的數據庫對象 - sql server 2005
- 2. Sql Server 2005索引視圖
- 3. 全文搜索(SQL Server 2005中)僅適用於某些領域
- 4. 同步非數據庫SQL Server對象
- 5. SQL列搜索問題(SQL Server 2005中)
- 6. 搜索在SQL Server數據庫
- 7. SQL Server 2000:通過數據庫搜索
- 8. 使用新數據庫名更新SQL Server 2005視圖?
- 9. 在SQL Server中搜索視圖或任何對象?
- 10. 如何在sql server 2005中編寫sql server數據庫圖表?
- 11. SQL Server 2005的數據透視
- 12. 使用SSIS 2005從SQL Server 2008 R2數據庫檢索數據
- 13. 搜索SQL Server元數據
- 14. SQL 2005 XML搜索
- 15. autosizing sql server數據庫圖視圖
- 16. SQL Server 2005全文搜索問題
- 17. SQL Server 2005全文搜索:Noise Words
- 18. SQL Server 2005數據透視表問題
- 19. 創建PHP搜索頁面搜索SQL Server數據庫
- 20. SQL查詢列出SQL Server 2005數據庫中的所有視圖
- 21. 在SQL Server中查找對象(跨數據庫)
- 22. SQL數據庫搜索
- 23. SQL Server 2005,收縮複製數據庫
- 24. SQL Server 2005數據庫備份
- 25. 在SQL Server數據庫恢復2005
- 26. ms sql server 2005數據庫容量
- 27. Vb.net 2008與SQL Server 2005數據庫
- 28. 在SQL Server 2005中壓縮數據庫
- 29. SQL Server 2005 - 多個數據庫
- 30. 在SQL Server 2005中創建數據庫
此sys.sql_dependencies在以後的版本中不推薦使用它是可靠的嗎?請參閱我的回答... – gbn 2009-10-18 12:37:33
sysdepends是已棄用的一個。 2005年引入了sql_dependencies,並且不推薦使用afaik。亞倫的文章比我在這裏發表的評論更深入地討論了各種問題。我的觀點是,元數據依賴關係跟蹤太脆弱,最好的做法是在開發源控制級別跟蹤依賴關係。例如。 VSTS數據庫版GDR R2在此方面做得更好:http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&displaylang=en。 – 2009-10-18 17:36:29