列出SQL Server

时间:2017-01-18 10:30:21

标签: sql sql-server sql-server-2008 tsql information-schema

我需要列出一个对象内的所有对象以及它们从源表返回的相关列。

例如

程序usp_UspTask正在调用3个函数

  1. fnt_Task1
  2. fnt_Task2
  3. fnt_Task3
  4. 这三个函数相邻并将选择列表返回usp_UspTask

    现在我想要在上面三个函数中使用的表和列列表。

    有没有可以返回此信息的查询?我知道信息架构,但需要相关信息。

1 个答案:

答案 0 :(得分:2)

对于SQL Server 2008,您可以使用sp_depends返回此对象所依赖的所有对象以及依赖于此对象的所有对象:

EXEC SP_DEPENDS fnt_Task1

这将返回两个数据集:

  1. 包含对象的数据集取决于:对象名称,类型 (表/视图),更新,选定,列
  2. 包含取决于此对象的对象的数据集:名称和类型
  3. 注意不推荐使用sp_depends,对于2012及更高版本,您应该使用:

    • sys.dm_sql_referencing_entities和
    • sys.dm_sql_referenced_entities