系统目录视图 (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库
目录视图返回由 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 中的目录视图具有如下类别:
AlwaysOn 可用性组目录视图 (Transact-SQL)
更改跟踪目录视图 - sys.change_tracking_databases
数据库镜像见证目录视图 - sys.database_mirroring_witnesses
扩展属性目录视图 - sys.extended_properties