Freigeben über


INDEXEIGENSCHAFT (Transact-SQL)

Gilt für:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric

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 zurück NULL .

Transact-SQL-Syntaxkonventionen

Syntax

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

Argumente

object_ID

Ein Ausdruck, der die Objektidentifikationsnummer der Tabellen- oder indizierten Ansicht 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 Indexes oder der Statistik enthält, für den Eigenschafteninformationen zurückgegeben werden sollen. index_or_statistics_name entspricht nvarchar(128).

property

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

Hinweis

Sofern nicht anders angegeben, wird zurückgegeben, NULL wenn die Eigenschaft 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 = XML-Index oder -Eingabe ist ungültig.
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 AUTO_CREATE_STATISTICS Option von ALTER DATABASE. 1 = Wahr
0 = False oder XML-Index.
IsClustered Der Index ist gruppiert. 1 = Wahr
0 = False oder XML-Index.
IsDisabled Der Index ist deaktiviert. 1 = Wahr
0 = Falsch
NULL = Eingabe ist ungültig.
IsFulltextKey Index ist der Schlüssel für die Volltext- und semantische Indizierung für eine Tabelle. 1 = Wahr
0 = False oder XML-Index.
NULL = Eingabe ist ungültig.
IsHypothetical 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 = Wahr
0 = Falscher oder XML-Index
NULL = Eingabe ist ungültig.
IsPadIndex Der Index gibt den Speicherplatz an, der auf jedem inneren Knoten freigelassen werden soll. 1 = Wahr
0 = False oder XML-Index.
IsPageLockDisallowed Seitensperrwert, der durch die ALLOW_PAGE_LOCKS Option von ALTER INDEX. 1 = Die Seitensperre ist unzulässig.
0 = Seitensperrung ist zulässig.
NULL = Eingabe ist ungültig.
IsRowLockDisallowed Zeilensperrwert, der durch die ALLOW_ROW_LOCKS Option von ALTER INDEX. 1 = Zeilensperrung ist unzulässig.
0 = Zeilensperrung ist zulässig.
NULL = Eingabe ist ungültig.
IsStatistics index_or_statistics_name sind Statistiken, die von der CREATE STATISTICS Anweisung oder von der AUTO_CREATE_STATISTICS Option ALTER DATABASEerstellt werden. 1 = Wahr
0 = False oder XML-Index.
IsUnique Der Index ist eindeutig. 1 = Wahr
0 = False oder XML-Index.
IsColumnstore Index ist ein speicheroptimierter Spaltenspeicherindex. 1 = Wahr
0 = Falsch

Gilt für: SQL Server 2012 (11.x) und höhere Versionen.
IsOptimizedForSequentialKey Für den Index wurde die Optimierung der Einfügevorgängen für die letzte Seite aktiviert. 1 = Wahr
0 = Falsch

Gilt für: SQL Server 2019 (15.x) und höhere Versionen.

Rückgabetypen

int

Ausnahmen

Gibt NULL den Fehler zurück oder wenn ein Aufrufer nicht über die Berechtigung zum Anzeigen des Objekts verfügt.

Ein Benutzer kann nur die Metadaten von sicherungsfähigen Daten anzeigen, die der Benutzer besitzt oder für den der Benutzer die Berechtigung erteilt hat. Dies bedeutet, dass metadatenmittierende, integrierte Funktionen wie INDEXPROPERTY z. B. zurückgegeben NULL werden können, wenn der Benutzer keine Berechtigung für das Objekt besitzt. Weitere Informationen finden Sie in der Konfiguration der Metadatensichtbarkeit.

Beispiele

Die Codebeispiele in diesem Artikel verwenden die AdventureWorks2025- oder AdventureWorksDW2025 Beispieldatenbank, die Sie von der Microsoft SQL Server Samples and Community Projects Homepage herunterladen können.

A. Zurückgeben von Eigenschaften für den Index in der Tabelle "Mitarbeiter"

Das folgende Beispiel liefert die Werte für die IsClustered, IndexDepth, und IndexFillFactor Eigenschaften für den PK_Employee_BusinessEntityID Index der Employee Tabelle in der AdventureWorks2025-Datenbank zurück.

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

Hier ist das Ergebnis.

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

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

B. Zurückgeben von Eigenschaften für den Index in der FactResellerSales-Tabelle

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

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