适用范围:SQL Server
对象目录视图公开有关数据库对象的元数据、其定义、依赖项和物理结构。 以下部分中的视图按它们描述的元数据类型进行分组,以便更轻松地导航相关概念。
对象定义和主要对象类型
这些视图标识数据库中定义的逻辑对象及其基本特征。
| 系统目录视图 | Description |
|---|---|
| sys.objects | 架构范围的对象的中央目录。 将其用作发现对象类型、架构和状态的起点。 |
| sys.tables | 特定于用户表的元数据,包括表级属性。 |
| sys.views | 视图的元数据,包括它们是架构绑定还是索引。 |
| sys.procedures | 存储过程的元数据。 |
| sys.numbered_procedures | 使用相同基名称创建的编号存储过程的元数据。 |
| sys.numbered_procedure_parameters | 特定于编号存储过程的参数元数据。 |
| sys.table_types | 参数和变量中使用的用户定义的表类型的元数据。 |
| sys.synonyms | 将同义词映射到它们引用的对象。 |
| sys.sequences | 用于生成数值的序列对象的元数据。 |
列、参数和数据结构
这些视图描述如何在表、视图和可编程对象内构建数据。
| 系统目录视图 | Description |
|---|---|
| sys.columns | 定义列名、数据类型、可为 null 性和其他列级属性。 |
| sys.computed_columns | 描述计算列及其定义表达式。 |
| sys.identity_columns | 标识自动生成值的列及其标识设置。 |
| sys.masked_columns | 指示哪些列使用动态数据掩码以及如何应用掩码。 |
| sys.parameters | 描述存储过程和函数的输入和输出参数。 |
| sys.function_order_columns | 为有序集函数中涉及的列提供元数据。 |
约束和关系
这些视图描述强制实施表之间的数据完整性和关系的规则。
| 系统目录视图 | Description |
|---|---|
| sys.check_constraints | 定义限制列中允许值的逻辑条件。 |
| sys.default_constraints | 指定未提供显式值时应用的默认值。 |
| sys.key_constraints | 标识 PRIMARY KEY 和 UNIQUE 约束。 |
| sys.foreign_keys | 描述父表和引用表之间的关系。 |
| sys.foreign_key_columns | 映射参与外键关系的特定列。 |
索引、统计信息和存储布局
这些视图描述如何对数据进行索引、分区和物理存储,以及查询优化器如何收集元数据。
| 系统目录视图 | Description |
|---|---|
| sys.index_columns | 定义哪些列参与索引及其排序方式。 |
| sys.hash_indexes | 内存优化表使用的哈希索引的元数据。 |
| sys.stats | 描述查询优化器使用的统计信息对象。 |
| sys.stats_columns | 标识构成每个统计信息对象的列。 |
| sys.partitions | 描述表和索引如何划分为分区。 |
| sys.allocation_units | 公开用于保存表和索引数据的存储分配详细信息。 |
模块定义和依赖项
这些视图公开可执行对象定义和数据库对象之间的依赖关系。
| 系统目录视图 | Description |
|---|---|
| sys.sql_modules | 存储视图、过程、函数和触发器的 Transact-SQL 源文本。 |
| sys.assembly_modules | 基于 CLR 的数据库对象的元数据。 |
| sys.sql_expression_dependencies | 跟踪从 SQL 表达式推断的依赖项,用于影响分析。 |
| sys.sql_dependencies | 保留旧依赖项信息以实现向后兼容性。 |
触发器、事件和消息传送
这些视图描述事件驱动行为和异步处理基础结构。
| 系统目录视图 | Description |
|---|---|
| sys.triggers | 数据作语言(DML)和数据定义语言(DDL)触发器的元数据。 |
| sys.trigger_events | 标识导致触发器触发的事件。 |
| sys.trigger_event_types | 列出支持的触发器事件类型。 |
| sys.event_notifications | 描述为数据库或服务器事件配置的事件通知。 |
| sys.events | 列出可用于事件通知的事件类型。 |
| sys.service_queues | 用于消息处理的 Service Broker 队列的元数据。 |
专用元数据和系统管理的元数据
这些视图公开引擎管理的或特定于功能的功能的元数据,而不是常规用途架构元素。
| 系统目录视图 | Description |
|---|---|
| sys.periods | 定义临时表的系统时间段。 |
| sys.memory_optimized_tables_internal_attributes | 内存优化表的内部元数据。 |
| sys.extended_procedures | 旧扩展存储过程的元数据。 |