查看表的依赖项

适用于:SQL Server 2016 (13.x) 及更高版本Azure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

可以使用 SQL Server Management Studio 或 Transact-SQL 查看 SQL Server 中的表依赖项。

权限

需要数据库上的 VIEW DEFINITION 权限以及在数据库的 sys.sql_expression_dependencies 上的 SELECT 权限。 默认情况下,SELECTT 权限仅授予 db_owner 固定数据库角色的成员。 将 SELECTVIEW DEFINITION 权限授予其他用户时,被授权者可以查看数据库中的所有依赖项。

使用 SQL Server Management Studio

查看表依赖的对象

  1. “对象资源管理器”中,展开 “数据库”,再展开其中的某个数据库,然后展开 “表”

  2. 右键单击某个表,然后选择“查看依赖项”

  3. 在“对象依赖关系<对象名称>”对话框中,选择“依赖于 <对象名称> 的对象”或“<对象名称> 依赖的对象”

  4. “依赖关系” 网格中选择一个对象。 对象类型(如“触发器”或“存储过程”)显示在“类型”框中。

注意

Azure Synapse Analytics 不支持使用“对象资源管理器”>“查看依赖项”选项来查看依赖项,而需要使用 sys.sql_expression_dependencies。 Azure Synapse Analytics SQL 池支持此列表中的表、视图、筛选统计信息和 Transact-SQL 存储过程实体类型。 仅针对表、视图和筛选统计信息创建和维护依赖关系信息。

使用 Transact-SQL

本文要求使用 AdventureWorks2022 示例数据库,你可从 Microsoft SQL Server 示例和社区项目主页下载。

查看依赖于表的对象

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准栏上,选择“新建查询” 。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。

    USE AdventureWorks2022;
    GO
    SELECT * FROM sys.sql_expression_dependencies
    WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription');
    GO
    

查看表的依赖项

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准栏上,选择“新建查询” 。

  3. 下面的示例返回依赖于表 Production.Product的对象。 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。

    USE AdventureWorks2022;
    GO
    SELECT * FROM sys.sql_expression_dependencies
    WHERE referenced_id = OBJECT_ID(N'Production.Product');
    GO