Partager via


INDEXPROPERTY (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Base de données SQL dans Microsoft Fabric

Retourne la valeur de la propriété de l'index ou des statistiques nommés en fonction d'un numéro d'identification de table, d'un nom d'index ou de statistiques et d'un nom de propriété spécifiés. Retourne NULL les index XML.

Conventions de la syntaxe Transact-SQL

Syntaxe

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

Arguments

object_ID

Expression qui contient le numéro d’identification de l’objet de la table ou de la vue indexée pour laquelle fournir des informations de propriété d’index. object_ID est de type int.

index_or_statistics_name

Expression qui contient le nom de l’index ou des statistiques pour lesquels retourner des informations de propriété. index_or_statistics_name est de type nvarchar(128).

property

Expression qui contient le nom de la propriété d’index ou de statistiques à retourner. property est de type varchar(128), et peut prendre l’une des valeurs suivantes.

Notes

Sauf indication contraire, NULL est retournée lorsque la propriété n’est pas un nom de propriété valide, object_ID n’est pas un ID d’objet valide, object_ID est un type d’objet non pris en charge pour la propriété spécifiée, ou l’appelant n’a pas l’autorisation d’afficher les métadonnées de l’objet.

Propriété Description Valeur
IndexDepth Profondeur de l'index Nombre de niveaux d'index.

NULL = Index XML ou entrée non valide.
IndexFillFactor Valeur de facteur de remplissage utilisée lors de la création et de la dernière restauration de l'index. Facteur de remplissage
IndexID Identificateur d'index sur une table ou une vue indexée spécifiée ID de l'index
IsAutoStatistics Les statistiques ont été générées par l’option AUTO_CREATE_STATISTICS de ALTER DATABASE. 1 = Vrai
0 = Index False ou XML.
IsClustered L’index est ordonné en cluster. 1 = Vrai
0 = Index False ou XML.
IsDisabled L'index est désactivé. 1 = Vrai
0 = Faux
NULL = L’entrée n’est pas valide.
IsFulltextKey L'index est la clé d'indexation sémantique et de texte intégral pour une table. 1 = Vrai
0 = Index False ou XML.
NULL = L’entrée n’est pas valide.
IsHypothetical L’index est hypothétique et ne peut pas être utilisé directement comme chemin d’accès aux données. Les index hypothétiques conservent des statistiques au niveau des colonnes et sont gérés et utilisés par l'Assistant Paramétrage du moteur de base de données. 1 = Vrai
0 = Index False ou XML
NULL = L’entrée n’est pas valide.
IsPadIndex L'index spécifie l'espace à laisser ouvert sur chaque nœud intérieur. 1 = Vrai
0 = Index False ou XML.
IsPageLockDisallowed Valeur de verrouillage de page définie par l’option ALLOW_PAGE_LOCKS .ALTER INDEX 1 = Le verrouillage de page n’est pas autorisé.
0 = Le verrouillage de page est autorisé.
NULL = L’entrée n’est pas valide.
IsRowLockDisallowed Valeur de verrouillage de ligne définie par l’option ALLOW_ROW_LOCKS .ALTER INDEX 1 = Le verrouillage de ligne n’est pas autorisé.
0 = Le verrouillage de ligne est autorisé.
NULL = L’entrée n’est pas valide.
IsStatistics index_or_statistics_name est des statistiques créées par l’instruction CREATE STATISTICS ou par l’option AUTO_CREATE_STATISTICS .ALTER DATABASE 1 = Vrai
0 = Index False ou XML.
IsUnique L'index est unique. 1 = Vrai
0 = Index False ou XML.
IsColumnstore L’index est un index columnstore optimisé en mémoire. 1 = Vrai
0 = Faux

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
IsOptimizedForSequentialKey L’optimisation des insertions de dernière page est activée dans l’index. 1 = Vrai
0 = Faux

S’applique à : SQL Server 2019 (15.x) et versions ultérieures.

Types de retour

int

Exceptions

Retourne NULL une erreur ou si un appelant n’a pas l’autorisation d’afficher l’objet.

Un utilisateur ne peut afficher les métadonnées des éléments sécurisables que l’utilisateur possède ou sur lequel l’utilisateur est autorisé. Cela signifie que les fonctions intégrées émettrices de métadonnées, telles que INDEXPROPERTY peuvent retourner NULL si l’utilisateur n’a pas d’autorisation sur l’objet. Pour plus d’informations, consultez la configuration de la visibilité des métadonnées.

Exemples

Les exemples de code de cet article utilisent les bases de données d'exemple AdventureWorks2025 ou AdventureWorksDW2025, que vous pouvez télécharger à partir de la page d'accueil Microsoft SQL Server Samples and Community Projects.

R. Retourner des propriétés pour l’index sur la table Employee

L’exemple suivant retourne les valeurs pour , IsClusteredIndexDepth, et IndexFillFactor les propriétés de l’index PK_Employee_BusinessEntityID de la Employee table dans la base de données AdventureWorks2025.

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];

Voici l'ensemble des résultats.

Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1            2           0

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

B. Propriétés de retour pour l’index sur la table FactResellerSales

L’exemple suivant examine les propriétés de l’un des index sur la FactResellerSales table.

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