Freigeben über


INDEXKEY_PROPERTY (Transact-SQL)

Gibt Informationen über den Indexschlüssel zurück. Gibt für XML-Indizes NULL zurück.

Wichtig

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen sys.index_columns (Transact-SQL).

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )

Argumente

  • object_ID
    Die Objekt-ID der Tabelle oder der indizierten Sicht. object_ID ist vom Datentyp int.

  • index_ID
    Die Index-ID. index_ID ist vom Datentyp int.

  • key_ID
    Die Position der Indexschlüsselspalte. key_ID ist vom Datentyp int.

  • property
    Der Name der Eigenschaft, für die Informationen zurückgegeben werden. property ist eine Zeichenfolge und kann einen der folgenden Werte aufweisen.

    Wert

    Beschreibung

    ColumnId

    Die Spalten-ID an der key_ID -Position des Indexes.

    IsDescending

    Die Reihenfolge, in der die Indexspalte gespeichert wird.

    1 = Absteigend 0 = Aufsteigend

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. INDEXKEY_PROPERTY, 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 beide Eigenschaften für Index-ID 1, Schlüsselspalte 1, in der Production.Location-Tabelle zurückgegeben.

USE AdventureWorks2012;
GO
SELECT 
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),
        1,1,'ColumnId') AS [Column ID],
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),
        1,1,'IsDescending') AS [Asc or Desc order];

Im Folgenden wird das Resultset aufgeführt:

Column ID   Asc or Desc order 
----------- ----------------- 
1           0

(1 row(s) affected)

Siehe auch

Verweis

INDEX_COL (Transact-SQL)

INDEXPROPERTY (Transact-SQL)

sys.objects (Transact-SQL)

sys.indexes (Transact-SQL)

sys.index_columns (Transact-SQL)