Freigeben über


INDEXKEY_PROPERTY (Transact-SQL)

Gilt für: SQL Server Azure SQL Managed Instance

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

Wichtig

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen sys.index_columns (Transact-SQL).

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 ID-Nummer für den Index. 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 Index.
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 Metadata Visibility Configuration.

Beispiele

Im folgenden Beispiel werden beide Eigenschaften für Index-ID 1, Schlüsselspalte 1, in der Production.Location-Tabelle zurückgegeben.

USE AdventureWorks2022;  
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)  

Weitere Informationen

INDEX_COL (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.objects (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)