查看表和列的列表

时间:2013-11-27 10:11:33

标签: sql sql-server-2008-r2

目标:
如果database A使用database B:s table及其column,则会显示详细信息。如果是,则列表将显示database B中正在使用的database A:s表和列的名称。

目的:
主要目的是减少时间。 Database A约有200 View400 tablesdatabase B约有154 View165 tables,我不想查看每个表格和视图为了找到它从database B使用的表和列。

问题:
我不知道怎么做?

信息:
*我使用SQL server 2008 R2

1 个答案:

答案 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