Freigeben über


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.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version).

Themenlink (Symbol) 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 ist vom Datentyp 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.

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

    1 = True

    0 = False oder XML-Index.

    NULL = Eingabe ist nicht gültig.

    Gilt für: SQL Server 2008 bis SQL Server 2014.

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

    1 = True

    0 = False oder XML-Index.

    Gilt für: SQL Server 2008 bis SQL Server 2014.

    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 = Eingabe ist nicht gültig.

    Gilt für: SQL Server 2008 bis SQL Server 2014.

    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 = Eingabe ist nicht gültig.

    Gilt für: SQL Server 2008 bis SQL Server 2014.

    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.

    IsColumnstore

    Index ist ein speicheroptimierter xVelocity-columnstore-Index.

    1 = True

    0 = False

    Gilt für: SQL Server 2012 bis SQL Server 2014.

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.

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

Siehe auch

Verweis

CREATE INDEX (Transact-SQL)

sys.indexes (Transact-SQL)

sys.index_columns (Transact-SQL)

sys.stats (Transact-SQL)

sys.stats_columns (Transact-SQL)

Konzepte

Statistik