INDEXPROPERTY (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Gibt den benannten Index- oder Statistikeigenschaftswert für eine angegebene Tabellenidentifikationsnummer (Tabellen-ID), den angegebenen Index- oder Statistiknamen und den angegebenen Eigenschaftsnamen zurück. Gibt für XML-Indizes NULL zurück.

Transact-SQL-Syntaxkonventionen

Syntax

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )   

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

object_ID
Ein Ausdruck, der die Objekt-ID der Tabelle oder indizierten Sicht enthält, für die Indexeigenschafteninformationen bereitgestellt werden sollen. object_id ist vom Datentyp int.

index_or_statistics_name
Ein Ausdruck, der den Namen des Index oder der Statistik enthält, für den bzw. die Eigenschafteninformationen zurückgegeben werden sollen. index_or_statistics_name entspricht nvarchar(128).

property
Ein Ausdruck, der den Namen der zurückzugebenden Datenbankeigenschaft enthält. property ist vom Datentyp varchar(128). Die folgenden Werte sind möglich:

Hinweis

Wenn nicht anders angegeben, wird NULL zurückgegeben, wenn property kein gültiger Eigenschaftsname ist, object_ID keine gültige Objekt-ID ist, object_ID ein nicht unterstützter Objekttyp für die angegebene Eigenschaft ist oder der Aufrufer nicht über die Berechtigung zum Anzeigen der Metadaten des Objekts verfügt.

Eigenschaft BESCHREIBUNG Wert
IndexDepth Schachtelungstiefe des Indexes. Anzahl von Indexebenen.

NULL = Ungültiger XML-Index oder ungültige Eingabe.
IndexFillFactor Der beim Erstellen oder letzten Neuerstellen des Indexes verwendete Füllfaktor. Füllfaktor
IndexID Index-ID des Indexes einer angegebenen Tabelle oder indizierten Sicht. Index-ID
IsAutoStatistics Statistiken wurden durch die Option AUTO_CREATE_STATISTICS von ALTER DATABASE erzeugt. 1 = True

0 = False oder XML-Index.
IsClustered Der Index ist gruppiert. 1 = True

0 = False oder XML-Index.
IsDisabled Der Index ist deaktiviert. 1 = True

0 = False

NULL = Eingabe ist nicht gültig.
IsFulltextKey Index ist der Schlüssel für die Volltext- und semantische Indizierung für eine Tabelle. Gilt für: SQL Server 2008 (10.0.x) und höher.

1 = True

0 = False oder XML-Index.

NULL = Eingabe ist nicht gültig.
IsHypothetical Der Index ist hypothetisch und kann nicht direkt als Datenzugriffspfad verwendet werden. Hypothetische Indizes enthalten Statistiken auf Spaltenebene und werden vom Datenbankoptimierungsratgeber verwaltet und verwendet. 1 = True

0 = False oder XML-Index

NULL = Eingabe ist nicht gültig.
IsPadIndex Der Index gibt den Speicherplatz an, der auf jedem inneren Knoten freigelassen werden soll. Gilt für: SQL Server 2008 (10.0.x) und höher.

1 = True

0 = False oder XML-Index.
IsPageLockDisallowed Der Wert für Seitensperren wird von der Option ALLOW_PAGE_LOCKS von ALTER INDEX festgelegt. Gilt für: SQL Server 2008 (10.0.x) und höher.

1 = Seitensperren sind nicht zulässig.

0 = Seitensperren sind zulässig.

NULL = Eingabe ist nicht gültig.
IsRowLockDisallowed Der Wert für Zeilensperren wird von der Option ALLOW_ROW_LOCKS von ALTER INDEX festgelegt. Gilt für: SQL Server 2008 (10.0.x) und höher.

1 = Zeilensperren sind nicht zulässig.

0 = Zeilensperren sind zulässig.

NULL = Eingabe ist nicht gültig.
IsStatistics index_or_statistics_name stellt Statistiken dar, die durch die CREATE STATISTICS-Anweisung oder die AUTO_CREATE_STATISTICS-Option von ALTER DATABASE erstellt werden. 1 = True

0 = False oder XML-Index.
IsUnique Der Index ist eindeutig. 1 = True

0 = False oder XML-Index.
IsColumnstore Index ist ein speicheroptimierter xVelocity-columnstore-Index. Gilt für: SQL Server 2012 (11.x) und höher.

1 = True

0 = False
IsOptimizedForSequentialKey Für den Index wurde die Optimierung der Einfügevorgängen für die letzte Seite aktiviert. Gilt für: SQL Server 2019 (15.x) und höher.

1 = True

0 = False

Rückgabetypen

int

Ausnahmen

Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.

Ein Benutzer kann nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. INDEXPROPERTY, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.

Beispiele

Im folgenden Beispiel werden die Werte für die Eigenschaften IsClustered, IndexDepth und IndexFillFactor für den PK_Employee_BusinessEntityID-Index der Employee-Tabelle in der AdventureWorks2022-Datenbank zurückgegeben.

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

Im Folgenden wird das Resultset aufgeführt:

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

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

Im folgenden Beispiel werden die Eigenschaften von einem der Indizes der FactResellerSales-Tabelle überprüft.

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

Weitere Informationen

CREATE INDEX (Transact-SQL)
Statistik
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)