系统目录视图 (Transact-SQL)

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 中的 SQL 终结点 Microsoft Fabric 中的仓库 Microsoft Fabric SQL 数据库

目录视图返回由 SQL Server 数据库引擎使用的信息。 建议使用目录视图,因为它们是目录元数据的最通用界面,并提供获取、转换和呈现此信息的自定义形式的最有效方法。 所有用户可用的目录元数据都通过目录视图来显示。

注意

目录视图不包含有关复制、备份、数据库维护计划或 SQL Server 代理目录数据的信息。

备注

某些目录视图从其他目录视图继承行。 例如,sys.tables 目录视图继承自 sys.objects 目录视图。 sys.objects 目录视图称为基本视图,而 sys.tables 视图称为派生视图。 sys.tables 目录视图返回专用于表的列,同时还返回 sys.objects 目录视图返回的所有列。 sys.objects 目录视图返回表之外的对象(例如,存储过程和视图)的行。 创建表之后,表的元数据将在两个视图中返回。 尽管两个目录视图返回有关表的不同级别的信息,但在此表的元数据中只有一个具有一个名称和一个 object_id 的项。 这可以总结如下:

  • 基本视图包含列的子集和行的超集。
  • 派生视图包含列的超集和行的子集。

重要

在 SQL Server 的未来版本中,Microsoft 可能会通过在列列表的末尾添加列来扩充任何系统目录视图的定义。 我们建议不要在生产代码中使用语法 SELECT * FROM sys.<catalog_view_name>,这是因为返回的列数可能会更改和中断应用程序。

SQL Server 中的目录视图具有如下类别: