sys.index_columns (Transact-SQL)sys.index_columns (Transact-SQL)

Gilt für: JaSQL Server JaAzure SQL-Datenbank JaAzure Synapse Analytics (SQL DW) JaParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Enthält eine Zeile pro Spalte, die Teil einer sys.indexes Index oder einer unsortierten Tabelle (Heap).Contains one row per column that is part of a sys.indexes index or unordered table (heap).

SpaltennameColumn name DatentypData type BeschreibungDescription
object_idobject_id intint ID des Objekts, für das der Index definiert wirdID of the object the index is defined on.
index_idindex_id intint ID des Indexes, in dem die Spalte definiert wirdID of the index in which the column is defined.
index_column_idindex_column_id intint Die ID der Indexspalte.ID of the index column. Index_column_id ist nur innerhalb eindeutig Index_id.index_column_id is unique only within index_id.
column_idcolumn_id intint ID der Spalte in object_id.ID of the column in object_id.

0 = Zeilenbezeichner (RID, Row Identifier) in einem nicht gruppierten Index.0 = Row Identifier (RID) in a nonclustered index.

column_id ist nur innerhalb von object_ideindeutig.column_id is unique only within object_id.
key_ordinalkey_ordinal tinyinttinyint Ordinalzahl (auf 1 basierend) innerhalb einer Gruppe von Schlüsselspalten.Ordinal (1-based) within set of key-columns.

0 = Keine Schlüsselspalte oder ein XML-Index, columnstore-Index oder räumlicher Index.0 = Not a key column, or is an XML index, a columnstore index, or a spatial index.

Hinweis: Ein XML-Index oder räumlichen Index kann nicht kein Schlüssel sein, da die zugrunde liegenden Spalten nicht vergleichbar sind, was bedeutet, dass ihre Werte nicht sortiert werden können.Note: An XML or spatial index cannot be a key because the underlying columns are not comparable, meaning that their values cannot be ordered.
partition_ordinalpartition_ordinal tinyinttinyint Ordinalzahl (1-basiert) innerhalb einer Gruppe von Partitionierungsspalten.Ordinal (1-based) within set of partitioning columns. Ein gruppierter columnstore-Index kann maximal 1 Partitionierungsspalte aufweisen.A clustered columnstore index can have at most 1 partitioning column.

0 = Keine Partitionierungsspalte.0 = Not a partitioning column.
is_descending_keyis_descending_key bitbit 1 = Indexschlüsselspalte hat eine absteigende Sortierreihenfolge.1 = Index key column has a descending sort direction.

0 = Indexschlüsselspalte hat eine aufsteigende Sortierreihenfolge, oder die Spalte ist Teil eines columnstore-Indexes oder Hashindexes.0 = Index key column has an ascending sort direction, or the column is part of a columnstore or hash index.
is_included_columnis_included_column bitbit 1 = Spalte ist eine Nichtschlüsselspalte, die dem Index mit der CREATE INDEX INCLUDE-Klausel hinzugefügt wurde, oder die Spalte ist Teil eines columnstore-Indexes.1 = Column is a nonkey column added to the index by using the CREATE INDEX INCLUDE clause, or the column is part of a columnstore index.

0 = Spalte ist keine eingeschlossene Spalte.0 = Column is not an included column.

Spalten, die implizit hinzugefügt werden, da sie Teil der Gruppierungsschlüssel sind nicht in aufgeführt werden index_columns.Columns implicitly added because they are part of the clustering key are not listed in sys.index_columns.

Spalten, die implizit hinzugefügt wurden, da sie eine Partitionierungsspalte sind, werden als 0 zurückgegeben.Columns implicitly added because they are a partitioning column are returned as 0.
column_store_order_ordinalcolumn_store_order_ordinal
Betrifft: Azure SQL Data Warehouse (Vorschau)Applies to: Azure SQL Data Warehouse (preview)
tinyinttinyint Ordinalzahl (1-basiert) in der Reihenfolge der Spalten in einem geordneten gruppierten columnstore-Index festOrdinal (1-based) within set of order columns in an ordered clustered columnstore index.

BerechtigungenPermissions

Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde.The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. Weitere Informationen finden Sie unter Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

BeispieleExamples

Im folgenden Beispiel werden alle Indizes und Indexspalten für die Tabelle Production.BillOfMaterials zurückgegeben.The following example returns all indexes and index columns for the table Production.BillOfMaterials.

USE AdventureWorks2012;  
GO  
SELECT i.name AS index_name  
    ,COL_NAME(ic.object_id,ic.column_id) AS column_name  
    ,ic.index_column_id  
    ,ic.key_ordinal  
,ic.is_included_column  
FROM sys.indexes AS i  
INNER JOIN sys.index_columns AS ic
    ON i.object_id = ic.object_id AND i.index_id = ic.index_id  
WHERE i.object_id = OBJECT_ID('Production.BillOfMaterials');  
  

Hier ist das Resultset.Here is the result set.

  
index_name                                                 column_name        index_column_id key_ordinal is_included_column  
---------------------------------------------------------- -----------------  --------------- ----------- -------------  
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate ProductAssemblyID  1               1           0  
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate ComponentID        2               2           0  
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate StartDate          3               3           0  
PK_BillOfMaterials_BillOfMaterialsID                       BillOfMaterialsID  1               1           0  
IX_BillOfMaterials_UnitMeasureCode                         UnitMeasureCode    1               1           0  
  
(5 row(s) affected)  
  

Siehe auchSee Also

Katalogsichten für Objekte (Transact-SQL) Object Catalog Views (Transact-SQL)
Katalogsichten (Transact-SQL) Catalog Views (Transact-SQL)
sys.indexes (Transact-SQL) sys.indexes (Transact-SQL)
sys.objects (Transact-SQL) sys.objects (Transact-SQL)
CREATE INDEX (Transact-SQL) CREATE INDEX (Transact-SQL)
sys.columns (Transact-SQL) sys.columns (Transact-SQL)
Häufig gestellte Fragen zu Abfragen des SQL Server-SystemkatalogsQuerying the SQL Server System Catalog FAQ