Udostępnij za pośrednictwem


sys.index_columns (Transact-SQL)

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w usłudze Microsoft Fabric

Zawiera jeden wiersz na kolumnę, który jest częścią indeksu lub nieurządkowanej tabeli (sterta).

Nazwa kolumny Typ danych Opis
object_id Identyfikator obiektu, na który jest zdefiniowany indeks.
index_id Identyfikator indeksu, w którym zdefiniowano kolumnę.
index_column_id Identyfikator kolumny indeksu. index_column_id jest unikatowa tylko w index_id.
column_id Identyfikator kolumny w object_id.

0 = identyfikator wiersza (RID) w indeksie nieklastrowanym.

column_id jest unikatowa tylko w object_id.
key_ordinal tinyint Porządkowe (oparte na 1) w zestawie kolumn kluczy.

0 = Nie kolumna klucza lub jest indeksem XML, indeksem magazynu kolumn lub indeksem przestrzennym.

Uwaga: Indeks XML lub indeks przestrzenny nie może być kluczem, ponieważ kolumny bazowe nie są porównywalne, co oznacza, że ich wartości nie mogą być uporządkowane.
partition_ordinal tinyint Porządkowe (oparte na 1) w zestawie kolumn partycjonowania. Indeks klastrowanego magazynu kolumn może mieć co najwyżej jedną kolumnę partycjonowania.

0 = nie jest kolumną partycjonowania.
is_descending_key bitów 1 = Kolumna klucza indeksu ma malejący kierunek sortowania.

0 = Kolumna klucza indeksu ma rosnący kierunek sortowania lub kolumna jest częścią magazynu kolumn lub indeksu skrótu.
is_included_column bitów 1 = Kolumna jest kolumną niekluczową dodaną do indeksu przy użyciu klauzuli CREATE INDEX INCLUDE lub kolumna jest częścią indeksu magazynu kolumn.

0 = Kolumna nie jest uwzględniona kolumną.

Kolumny dodawane niejawnie, ponieważ są częścią klucza klastrowania, nie są wymienione w sys.index_columns.

Kolumny dodawane niejawnie, ponieważ są one kolumną partycjonowania, są zwracane jako 0.
column_store_order_ordinal tinyint Dotyczy: Azure Synapse Analytics, SQL Server 2022 (16.x), Azure SQL Database i Azure SQL Managed Instance z Zawszeup-to-date update policy

Porządkowe (oparte na 1) w zestawie kolumn kolejności w uporządkowanym indeksie magazynu kolumn. Aby uzyskać więcej informacji na temat uporządkowanych indeksów magazynu kolumn, zobacz Dostrajanie wydajności za pomocą uporządkowanych indeksów magazynu kolumn.

Uprawnienia

Widoczność metadanych w widokach wykazu jest ograniczona do zabezpieczania, które użytkownik jest właścicielem lub na którym użytkownik otrzymał jakieś uprawnienia. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Przykłady

Poniższy przykład zwraca wszystkie indeksy i kolumny indeksów dla tabeli 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');

Oto zestaw wyników.

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)

Następne kroki