目标:
如果database A
使用database B
:s table
及其column
,则会显示详细信息。如果是,则列表将显示database B
中正在使用的database A
:s表和列的名称。
目的:
主要目的是减少时间。 Database A
约有200 View
,400 tables
和database B
约有154 View
和165 tables
,我不想查看每个表格和视图为了找到它从database B
使用的表和列。
问题:
我不知道怎么做?
信息:
*我使用SQL server 2008 R2
答案 0 :(得分:0)
您可以使用以下sys.sql_expression_dependencies
获得所需的结果:
USE [database A]
GO
select
object_name(objs.referencing_id) as objectname
,cols.*
from
sys.sql_expression_dependencies objs
outer apply sys.dm_sql_referenced_entities ( OBJECT_SCHEMA_NAME(objs.referencing_id) + N'.' + object_name(objs.referencing_id), N'OBJECT' ) as cols
where objs.referenced_database_name = 'database B'
您可以在此处参考以获取更多详细信息: http://technet.microsoft.com/en-us/library/bb677315(v=sql.100).aspx