sys.index_columns (Transact-SQL)

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

インデックスまたは順序なしテーブル (ヒープ) の一部である列ごとに 1 行が含まれます。

列名 データ型 説明
object_id int インデックスが定義されているオブジェクトの ID。
index_id int 列が定義されているインデックスの ID です。
index_column_id int インデックス列の ID。 index_column_id は、 index_id内でのみ一意です。
column_id int object_id内の列の ID。

0 = 非クラスター化インデックスの行識別子 (RID)。

column_id は、 object_id内でのみ一意です。
key_ordinal tinyint 一連のキー列内での 1 から始まる序数です。

0 = キー列ではないか、XML インデックス、列ストア インデックス、または空間インデックスです。

注: 基になる列は比較できないため、XML または空間インデックスをキーにすることはできません。つまり、その値を並べ替えることはできません。
partition_ordinal tinyint パーティション分割列のセット内の序数 (1 から始まる)。 クラスター化列ストア インデックスには、最大で 1 つのパーティション分割列を含めることができます。

0 = パーティション分割列ではありません。
is_descending_key bit 1 = インデックス キー列には降順の並べ替え方向があります。

0 = インデックス キー列の並べ替え方向が昇順であるか、列が列ストアまたはハッシュ インデックスの一部です。
is_included_column bit 1 = 列は、CREATE INDEX INCLUDE 句を使用してインデックスに追加されるキー以外の列であるか、列が列ストア インデックスの一部です。

0 = 列は含まれる列ではありません。

クラスタリング キーの一部であるため、暗黙的に追加された列は、 sys.index_columnsに一覧表示されません。

パーティション分割列であるため、暗黙的に追加された列は 0として返されます。
column_store_order_ordinal tinyint 適用対象: Azure Synapse Analytics および SQL Server 2022 (16.x)
順序付けされたクラスター化列ストア インデックス内の順序列のセット内の序数 (1 から始まる)。 順序付けされたクラスター化列ストア インデックスの詳細については、 Columnstore インデックスの設計ガイダンスを参照してください。

アクセス許可

カタログ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されているセキュリティ保護可能なリソースに限定されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。

次の例では、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');

結果セットは次のとおりです。

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)

次のステップ