sys.index_columns (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
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)