INDEXPROPERTY (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 )
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)