元数据函数(Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

本文介绍返回有关数据库和数据库对象的信息的标量函数。

所有元数据函数都是 不确定的。 每次调用它们时,它们并不总是返回相同的结果,即使具有相同的输入值集。

服务器、数据库、会话和主体上下文元数据

了解正在运行的位置(实例和数据库),以及作为或通过(客户端应用程序、数据库主体)运行的人员。 将此信息用于环境感知脚本和诊断。

功能 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 值 返回序列对象中的下一个值。