INDEXPROPERTY (Transact-SQL)INDEXPROPERTY (Transact-SQL)

Область применения: ДаSQL Server ДаБаза данных SQL Azure ДаAzure Synapse Analytics (Хранилище данных SQL) ДаParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database YesAzure Synapse Analytics (SQL DW) YesParallel Data Warehouse

Возвращает значение свойства именованного индекса или статистики для указанного идентификационного номера таблицы, имени индекса или статистики, а также имени свойства.Returns the named index or statistics property value of a specified table identification number, index or statistics name, and property name. Возвращает NULL для XML-индексов.Returns NULL for XML indexes.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )   

АргументыArguments

object_IDobject_ID
Выражение, которое содержит идентификационный номер объекта таблицы или индексированного представления, для которого предоставляются сведения о свойстве индекса.Is an expression that contains the object identification number of the table or indexed view for which to provide index property information. Аргумент object_ID имеет тип int.object_ID is int.

index_or_statistics_nameindex_or_statistics_name
Выражение, которое содержит имя индекса или статистики, для которой возвращаются сведения о свойстве.Is an expression that contains the name of the index or statistics for which to return property information. Аргумент index_or_statistics_name имеет тип nvarchar(128) .index_or_statistics_name is nvarchar(128).

propertyproperty
Выражение, которое содержит имя возвращаемого свойства базы данных.Is an expression that contains the name of the database property to return. Аргумент property имеет тип varchar(128) и может принимать одно из указанных ниже значений.property is varchar(128), and can be one of these values.

Примечание

Если не указано иное, значение NULL возвращается в следующих случаях: если аргумент property не является допустимым именем свойства, если аргумент object_ID не является допустимым идентификатором объекта, если аргумент object_ID не является поддерживаемым типом объекта для указанного свойства или если вызывающий объект не имеет разрешения на просмотр метаданных объекта.Unless noted otherwise, NULL is returned when property is not a valid property name, object_ID is not a valid object ID, object_ID is an unsupported object type for the specified property, or the caller does not have permission to view the object's metadata.

СвойствоProperty DescriptionDescription ЗначениеValue
IndexDepthIndexDepth Глубина индекса.Depth of the index. Количество уровней индекса.Number of index levels.

NULL = Неверный XML-индекс или вход.NULL = XML index or input is not valid.
IndexFillFactorIndexFillFactor Значение коэффициента заполнения, использованное при создании индекса или при его последней перестройке.Fill factor value used when the index was created or last rebuilt. Коэффициент заполнения.Fill factor
IndexIDIndexID Идентификатор индекса указанной таблицы или индексированного представления.Index ID of the index on a specified table or indexed view. Идентификатор индекса.Index ID
IsAutoStatisticsIsAutoStatistics Статистики были сформированы параметром AUTO_CREATE_STATISTICS инструкции ALTER DATABASE.Statistics were generated by the AUTO_CREATE_STATISTICS option of ALTER DATABASE. 1 = True1 = True

0 = False или XML-индекс.0 = False or XML index.
IsClusteredIsClustered Кластеризованный индекс.Index is clustered. 1 = True1 = True

0 = False или XML-индекс.0 = False or XML index.
IsDisabledIsDisabled Индекс отключен.Index is disabled. 1 = True1 = True

0 = False.0 = False

NULL = Введенные значения недопустимы.NULL = Input is not valid.
IsFulltextKeyIsFulltextKey Индекс является ключом для полнотекстового и семантического индексирования таблицы.Index is the full-text and semantic indexing key for a table. Область применения: SQL Server 2008SQL Server 2008 и более поздних версий.Applies to: SQL Server 2008SQL Server 2008 and later.

1 = True1 = True

0 = False или XML-индекс.0 = False or XML index.

NULL = Введенные значения недопустимы.NULL = Input is not valid.
IsHypotheticalIsHypothetical Индекс является гипотетическим и не может использоваться напрямую в качестве пути доступа к данным.Index is hypothetical and cannot be used directly as a data access path. Гипотетические индексы содержат статистики уровня столбца и управляются и используются помощником по настройке ядра СУБД.Hypothetical indexes hold column-level statistics and are maintained and used by Database Engine Tuning Advisor. 1 = True1 = True

0 = False или XML-индекс.0 = False or XML index

NULL = Введенные значения недопустимы.NULL = Input is not valid.
IsPadIndexIsPadIndex Индекс задает пространство, которое должно оставаться открытым на каждом внутреннем узле.Index specifies space to leave open on each interior node. Область применения: SQL Server 2008SQL Server 2008 и более поздних версий.Applies to: SQL Server 2008SQL Server 2008 and later.

1 = True1 = True

0 = False или XML-индекс.0 = False or XML index.
IsPageLockDisallowedIsPageLockDisallowed Значение блокировки страницы, установленное параметром ALLOW_PAGE_LOCKS инструкции ALTER INDEX.Page-locking value set by the ALLOW_PAGE_LOCKS option of ALTER INDEX. Область применения: SQL Server 2008SQL Server 2008 и более поздних версий.Applies to: SQL Server 2008SQL Server 2008 and later.

1 = Блокировка страниц запрещена;1 = Page locking is disallowed.

0 = Блокировка страниц разрешена.0 = Page locking is allowed.

NULL = Введенные значения недопустимы.NULL = Input is not valid.
IsRowLockDisallowedIsRowLockDisallowed Значение блокировки строк, установленное параметром ALLOW_ROW_LOCKS инструкции ALTER INDEX.Row-locking value set by the ALLOW_ROW_LOCKS option of ALTER INDEX. Область применения: SQL Server 2008SQL Server 2008 и более поздних версий.Applies to: SQL Server 2008SQL Server 2008 and later.

1 = Блокировка строк запрещена;1 = Row locking is disallowed.

0 = Блокировка строк разрешена.0 = Row locking is allowed.

NULL = Введенные значения недопустимы.NULL = Input is not valid.
IsStatisticsIsStatistics Аргумент index_or_statistics_name является статистикой, созданной инструкцией CREATE STATISTICS или параметром AUTO_CREATE_STATISTICS инструкции ALTER DATABASE.index_or_statistics_name is statistics created by the CREATE STATISTICS statement or by the AUTO_CREATE_STATISTICS option of ALTER DATABASE. 1 = True1 = True

0 = False или XML-индекс.0 = False or XML index.
IsUniqueIsUnique Индекс является уникальным.Index is unique. 1 = True1 = True

0 = False или XML-индекс.0 = False or XML index.
IsColumnstoreIsColumnstore Оптимизированный для памяти xVelocity индекс columnstore.Index is an xVelocity memory optimized columnstore index. Область применения: SQL Server 2012 (11.x)SQL Server 2012 (11.x) и более поздних версий.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

1 = True1 = True

0 = False.0 = False
IsOptimizedForSequentialKeyIsOptimizedForSequentialKey Индекс оптимизирован для включения операций вставки на последнюю страницу.Index has optimization for last-page inserts enabled. Область применения: SQL Server 2019 (15.x)SQL Server 2019 (15.x) и более поздних версий.Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

1 = True1 = True

0 = False.0 = False

Типы возвращаемых данныхReturn Types

intint

ИсключенияExceptions

Возвращает значение NULL в случае ошибки или если участник не имеет разрешений для просмотра объекта.Returns NULL on error or if a caller does not have permission to view the object.

Пользователь может просматривать только метаданные защищаемых объектов, которыми он владеет или на которые пользователю были предоставлены разрешения.A user can only view the metadata of securables that the user owns or on which the user has been granted permission. Это означает, что создающие метаданные встроенные функции, такие как INDEXPROPERTY могут вернуть значение NULL в случае, если пользователь не имеет разрешений на объект.This means that metadata-emitting, built-in functions such as INDEXPROPERTY may return NULL if the user does not have any permission on the object. Дополнительные сведения см. в разделе Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

ПримерыExamples

В приведенном ниже примере возвращаются значения свойств IsClustered, IndexDepth и IndexFillFactor индекса PK_Employee_BusinessEntityID таблицы Employee в базе данных AdventureWorks2012AdventureWorks2012.The following example returns the values for the IsClustered, IndexDepth, and IndexFillFactor properties for the PK_Employee_BusinessEntityID index of the Employee table in the AdventureWorks2012AdventureWorks2012 database.

SELECT   
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),  
        'PK_Employee_BusinessEntityID','IsClustered')AS [Is Clustered],  
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),  
        'PK_Employee_BusinessEntityID','IndexDepth') AS [Index Depth],  
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),  
        'PK_Employee_BusinessEntityID','IndexFillFactor') AS [Fill Factor];  
  

Результирующий набор:Here is the result set:

Is Clustered Index Depth Fill Factor   
------------ ----------- -----------   
1            2           0  
  
(1 row(s) affected)  

Примеры: Azure Synapse Analytics (хранилище данных SQL)Azure Synapse Analytics (SQL DW) и Параллельное хранилище данныхParallel Data WarehouseExamples: Azure Synapse Analytics (хранилище данных SQL)Azure Synapse Analytics (SQL DW) and Параллельное хранилище данныхParallel Data Warehouse

В приведенном ниже примере проверяются свойства одного из индексов таблицы FactResellerSales.The following example examines the properties of one of the indexes on the FactResellerSales table.

-- Uses AdventureWorks  
  
SELECT   
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),  
    'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsClustered') AS [Is Clustered],  
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),  
    'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsColumnstore') AS [Is Columnstore Index],  
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),  
    'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IndexFillFactor') AS [Fill Factor];  
GO  

См. также:See Also

CREATE INDEX (Transact-SQL) CREATE INDEX (Transact-SQL)
Статистика Statistics
sys.indexes (Transact-SQL) sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL) sys.index_columns (Transact-SQL)
sys.stats (Transact-SQL) sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)sys.stats_columns (Transact-SQL)