sys.index_columns (Transact-SQL)
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Innehåller en rad per kolumn som ingår i ett index eller en osorterad tabell (heap).
Kolumnnamn | Datatyp | Beskrivning |
---|---|---|
object_id | int | ID för objektet som indexet definieras på. |
index_id | int | ID för indexet där kolumnen definieras. |
index_column_id | int | ID för indexkolumnen.
index_column_id är bara unikt inom index_id . |
column_id | int | ID för kolumnen i object_id .0 = Radidentifierare (RID) i ett icke-grupperat index.column_id är bara unikt inom object_id . |
key_ordinal | pytteliten | Ordningstal (1-baserad) inom uppsättning nyckelkolumner. 0 = Inte en nyckelkolumn, eller är ett XML-index, ett columnstore-index eller ett rumsligt index. Obs! Ett XML- eller rumsligt index kan inte vara en nyckel eftersom de underliggande kolumnerna inte är jämförbara, vilket innebär att deras värden inte kan sorteras. |
partition_ordinal | pytteliten | Ordningstal (1-baserad) inom uppsättningen partitioneringskolumner. Ett grupperat columnstore-index kan ha högst en partitioneringskolumn. 0 = Inte en partitioneringskolumn. |
is_descending_key | bit |
1 = Indexnyckelkolumnen har en fallande sorteringsriktning.0 = Indexnyckelkolumnen har en stigande sorteringsriktning, eller så är kolumnen en del av ett kolumnarkiv eller hash-index. |
is_included_column | bit |
1 = Kolumn är en icke-nyckelkolumn som läggs till i indexet med hjälp av CREATE INDEX INCLUDE-satsen, eller så är kolumnen en del av ett kolumnlagringsindex.0 = Kolumnen är inte en inkluderad kolumn.Kolumner har lagts till implicit eftersom de ingår i klustringsnyckeln inte visas i sys.index_columns .Kolumner har lagts till implicit eftersom de är en partitioneringskolumn som returneras som 0 . |
column_store_order_ordinal | pytteliten |
gäller för: Azure Synapse Analytics, SQL Server 2022 (16.x), Azure SQL Database och Azure SQL Managed Instance med princip för uppdateringup-to-datum Ordningstal (1-baserad) inom uppsättning ordningskolumner i ett ordnat kolumnlagringsindex. Mer information om ordnade columnstore-index finns i Prestandajustering med ordnade columnstore-index. |
Behörigheter
Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. Mer information finns i konfiguration av metadatasynlighet.
Exempel
I följande exempel returneras alla index och indexkolumner för tabellen Production.BillOfMaterials
.
USE AdventureWorks2022;
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');
Här är resultatuppsättningen.
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)