Freigeben über


INDEXKEY_PROPERTY (Transact-SQL)

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

Wichtiger HinweisWichtig

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

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )

Argumente

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

  • index_ID
    Die ID des Indexes. index_ID ist vom Datentyp int.

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

  • property
    Der Name der Eigenschaft, für die Informationen zurückgegeben werden sollen. property ist eine Zeichenfolge. Die folgenden Werte sind möglich.

    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 und unter Behandlung von Problemen bei 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 AdventureWorks;
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)