対象者:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
アナリティクスプラットフォームシステム(PDW)
Microsoft FabricにおけるSQLデータベース
インデックスまたは順序なしテーブル (ヒープ) の一部である列ごとに 1 行が含まれます。
| 列名 | データの種類 | Description |
|---|---|---|
| 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 インデックス、列ストア インデックス、空間インデックス、または JSON インデックスです。 注: 基になる列は比較できないため、XML インデックスまたは空間インデックスまたは JSON インデックスをキーにすることはできません。つまり、それらの値を並べ替えることはできません。 |
| 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)、Azure SQL Database、Azure SQL Managed InstanceAUTD 順序付き列ストア インデックス内の順序列のセット内の序数 (1 から始まる)。 順序付き列ストア インデックスの詳細については、「順序付き列ストア インデックスを使用したパフォーマンスチューニング」を参照してください。 |
data_clustering_ordinal |
tinyint | 0 = 列ストア インデックスではなく、データ クラスタリングの序数が適用されない 対象:SQL Server 2025(17.x) |
Permissions
カタログ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されているセキュリティ保護可能なリソースに限定されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。
Examples
次の例では、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)