INDEXPROPERTY (Transact-SQL)
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.
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 die Indexeigenschaftsinformationen ermittelt werden sollen. object_ID hat den Datentyp int.index_or_statistics_name
Ein Ausdruck, der den Namen des Indexes oder der Statistiken enthält, für die Eigenschafteninformationen zurückgegeben werden sollen. index_or_statistics_name ist ein Wert vom Typ nvarchar(128).property
Ein Ausdruck, der den Namen der zurückzugebenden Datenbankeigenschaft enthält. property ist ein Wert 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.
Die 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.
IndexID
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 = Wahr
0 = Falsch
NULL = Ungültige Eingabe.
IsFulltextKey
Der Index ist der Volltextschlüssel für eine Tabelle.
1 = True
0 = Falsch oder XML-Index.
NULL = Ungültige Eingabe.
IsHypothetical
Der Index ist hypothetisch und kann nicht direkt als Datenzugriffspfad verwendet werden. Hypothetische Indizes enthalten Statistiken auf Spaltenebene und werden vom Datenbankmodul-Optimierungsratgeber verwaltet und verwendet.
1 = True
0 = Falsch oder XML-Index
NULL = Ungültige Eingabe.
IsPadIndex
Der Index gibt den Speicherplatz an, der auf jedem inneren Knoten freigelassen werden soll.
1 = True
0 = False oder XML-Index.
IsPageLockDisallowed
Der Wert für Seitensperren wird von der Option ALLOW_PAGE_LOCKS von ALTER INDEX festgelegt.
1 = Seitensperren sind nicht zulässig.
0 = Seitensperren sind zulässig.
NULL = Ungültige Eingabe.
IsRowLockDisallowed
Der Wert für Zeilensperren wird von der Option ALLOW_ROW_LOCKS von ALTER INDEX festgelegt.
1 = Zeilensperren sind nicht zulässig.
0 = Zeilensperren sind zulässig.
NULL = Ungültige Eingabe.
IsStatistics
index_or_statistics_name sind Statistiken, 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.
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 Konfigurieren der Sichtbarkeit von Metadaten und unter Behandlung von Problemen bei der Sichtbarkeit von Metadaten.
Beispiele
Im folgenden Beispiel werden die Werte für die Eigenschaften IsClustered, IndexDepth und IndexFillFactor für den PK_Employee_EmployeeID-Index der Employee-Tabelle zurückgegeben
USE AdventureWorks;
GO
SELECT
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_EmployeeID','IsClustered')AS [Is Clustered],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_EmployeeID','IndexDepth') AS [Index Depth],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_EmployeeID','IndexFillFactor') AS [Fill Factor];
GO
Im Folgenden wird das Resultset aufgeführt:
Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1 2 0
(1 row(s) affected)
Siehe auch