本文介绍返回有关数据库和数据库对象的信息的标量函数。
所有元数据函数都是 不确定的。 每次调用它们时,它们并不总是返回相同的结果,即使具有相同的输入值集。
服务器、数据库、会话和主体上下文元数据
了解正在运行的位置(实例和数据库),以及作为或通过(客户端应用程序、数据库主体)运行的人员。 将此信息用于环境感知脚本和诊断。
| 功能 | Description |
|---|---|
| SERVERPROPERTY | 返回 SQL Server 实例的属性,例如版本、排序规则或产品级别。 |
| DB_ID | 返回数据库的 ID。 |
| DB_NAME | 返回给定 ID 的数据库的名称。 |
| DATABASEPROPERTYEX | 返回数据库级属性值,例如排序规则和状态。 |
| ORIGINAL_DB_NAME | 在还原序列之前返回原始数据库名称。 |
| APP_NAME | 返回当前会话的应用程序名称。 |
| DATABASE_PRINCIPAL_ID | 返回数据库安全主体的主体 ID。 |
| VERSION | 返回 Azure Synapse Analytics 和分析平台系统(PDW)的版本字符串。 |
1仅适用于:Azure Synapse Analytics 和分析平台系统(PDW)
对象标识和名称解析
将 ID 解析为跨对象和架构的名称,并分析多部分标识符。 这些函数为反省和动态 SQL 提供核心支持。
| 功能 | Description |
|---|---|
| OBJECT_ID | 返回架构范围的对象的 ID。 |
| OBJECT_NAME | 返回对象 ID 的对象名称。 |
| OBJECT_SCHEMA_NAME | 返回对象的架构名称。 |
| SCHEMA_ID | 返回架构的 ID。 |
| SCHEMA_NAME | 按 ID 返回架构的名称。 |
| PARSENAME | 返回多部分对象名称的一部分(服务器、数据库、架构、对象)。 |
| @@PROCID | 返回当前正在执行的存储过程的 ID。 |
对象功能和可编程性元数据
检查对象是什么、其行为方式和实现方式。 此检查包括定义和属性,以及 CLR 程序集元数据。
| 功能 | Description |
|---|---|
| OBJECT_DEFINITION | 返回可编程对象的定义(源文本)。 |
| OBJECTPROPERTY | 返回对象的属性(例如,它是否为视图、表等)。 |
| OBJECTPROPERTYEX | 返回扩展的对象属性信息。 |
| ASSEMBLYPROPERTY | 返回 SQL CLR 程序集的指定属性值。 |
数据模型元数据(类型和列)
了解类型标识和属性,以及列标识和属性。 使用此元数据进行架构验证、代码生成、ETL 和兼容性检查。
| 功能 | Description |
|---|---|
| TYPE_ID | 返回数据类型的 ID。 |
| TYPE_NAME | 按 ID 返回数据类型名称。 |
| TYPEPROPERTY | 返回数据类型的属性,例如精度或可为 null。 |
| COL_NAME | 返回给定列 ID 的列名。 |
| COL_LENGTH | 返回列的长度(以字节为单位)。 |
| COLUMNPROPERTY | 返回列的属性,例如是标识列还是计算列。 |
访问路径元数据(索引和统计信息)
检查索引结构和统计信息新鲜度。 在优化工作流和元数据驱动维护时使用此元数据。
| 功能 | Description |
|---|---|
| INDEX_COL | 返回索引列的名称。 |
| INDEXKEY_PROPERTY | 返回索引键的属性。 |
| INDEXPROPERTY | 返回索引的属性,例如聚集或禁用。 |
| STATS_DATE | 返回上次更新表或索引的日期统计信息。 |
物理存储和全文元数据
检查物理布局(文件和文件组)和全文组件。 使用此信息进行存储管理、故障排除和配置审核。
| 功能 | Description |
|---|---|
| FILE_ID | 返回文件 ID。 |
| FILE_IDEX | 基于文件名返回文件 ID。 |
| FILE_NAME | 返回文件 ID 的文件名。 |
| FILEGROUP_ID | 返回文件组的 ID。 |
| FILEGROUP_NAME | 返回文件组的名称。 |
| FILEGROUPPROPERTY | 返回文件组的属性。 |
| FILEPROPERTY | 返回文件属性,例如大小或状态。 |
| FULLTEXTCATALOGPROPERTY | 返回全文目录的属性。 |
| FULLTEXTSERVICEPROPERTY | 返回全文服务属性,例如加载状态。 |
运行时协调和生成的值元数据
使用应用程序锁跨会话协调工作。 检索标识和序列对象的生成的数值。
| 功能 | Description |
|---|---|
| APPLOCK_MODE | 返回当前会话持有的锁定模式。 |
| APPLOCK_TEST | 测试是否可以获取锁而不实际获取锁。 |
| SCOPE_IDENTITY | 返回在当前作用域中生成的最后一个标识值。 |
| 的 NEXT 值 | 返回序列对象中的下一个值。 |