根据指定的表标识号、索引或统计信息名称以及属性名称,返回已命名的索引或统计信息属性值。对于 XML 索引,返回 NULL。
Transact-SQL 语法约定
INDEXPROPERTY ( object_ID , index_or_statistics_name , property )
一个表达式,包含要为其提供索引属性信息的表或索引视图的对象标识号。object_ID 的数据类型为 int。
一个表达式,包含要为其返回属性信息的索引或统计信息的名称。index_or_statistics_name 的数据类型为 nvarchar(128)。
一个表达式,包含要返回的数据库属性的名称。property 的数据类型为 varchar(128),可以是下列值之一:
IndexDepth
索引的深度。
索引级别数。
NULL = XML 索引或输入无效。
IndexFillFactor
创建索引或最后重新生成索引时使用的填充因子值。
填充因子
IndexID
指定表或索引视图上索引的索引 ID。
索引 ID
IsAutoStatistics
统计信息是由 ALTER DATABASE 的 AUTO_CREATE_STATISTICS 选项生成的。
1 = True
0 = False 或 XML 索引。
IsClustered
索引是聚集的。
IsDisabled
索引被禁用。
0 = False
NULL = 输入无效。
IsFulltextKey
索引是表的全文键。
IsHypothetical
索引是假设的,不能直接用作数据访问路径。假设索引包含列级统计信息,由数据库引擎优化顾问维护和使用。
0 = False 或 XML 索引
IsPadIndex
索引指定每个内部节点上将要保持空闲的空间。
IsPageLockDisallowed
通过 ALTER INDEX 的 ALLOW_PAGE_LOCKS 选项设置的页锁定值。
1 = 不允许页锁定。
0 = 允许页锁定。
IsRowLockDisallowed
通过 ALTER INDEX 的 ALLOW_ROW_LOCKS 选项设置的行锁定值。
1 = 不允许行锁定。
0 = 允许行锁定。
IsStatistics
index_or_statistics_name 是通过 CREATE STATISTICS 语句或 ALTER DATABASE 的 AUTO_CREATE_STATISTICS 选项创建的统计信息。
IsUnique
索引是唯一的。
int
出现错误时或调用方没有查看对象的权限时,将返回 NULL。
用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。也就是说,如果用户对该对象没有任何权限,则那些会生成元数据的内置函数(如 INDEXPROPERTY)可能返回 NULL。有关详细信息,请参阅 元数据可见性配置 和元数据可见性故障排除。
以下示例针对 Employee 表的 PK_Employee_EmployeeID 索引返回 IsClustered、IndexDepth 和 IndexFillFactor 属性的值。
Employee
PK
EmployeeID
下面是结果集:
Is Clustered Index Depth Fill Factor ------------ ----------- ----------- 1 2 0 (1 row(s) affected)