sys.index_columns (Transact-SQL)sys.index_columns (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

列の一部であるごとに 1 行が含まれています、 sys.indexesインデックスまたは順序付けられていないテーブル (ヒープ)。Contains one row per column that is part of a sys.indexes index or unordered table (heap).

列名Column name データ型Data type 説明Description
object_idobject_id intint インデックスが定義されているオブジェクトの ID。ID of the object the index is defined on.
index_idindex_id intint 列が定義されているインデックスの ID です。ID of the index in which the column is defined.
index_column_idindex_column_id intint インデックス列の ID。ID of the index column. index_column_id内でのみ一意ですindex_idします。index_column_id is unique only within index_id.
column_idcolumn_id intint 内の列の ID object_idします。ID of the column in object_id.

0 = 非クラスター化インデックス内の行識別子 (RID) です。0 = Row Identifier (RID) in a nonclustered index.

column_id内でのみ一意ですobject_idします。column_id is unique only within object_id.
key_ordinalkey_ordinal tinyinttinyint 一連のキー列内での 1 から始まる序数です。Ordinal (1-based) within set of key-columns.

0 = キー列ではないか、XML インデックス、列ストア インデックス、または空間インデックスです。0 = Not a key column, or is an XML index, a columnstore index, or a spatial index.

注:XML インデックスまたは空間インデックス キーためにできません基になる列が比較不能、つまり、その値を注文することはできません。Note: An XML or spatial index cannot be a key because the underlying columns are not comparable, meaning that their values cannot be ordered.
partition_ordinalpartition_ordinal tinyinttinyint パーティション分割列のセット内で (1 から始まる序数です。Ordinal (1-based) within set of partitioning columns. クラスター化列ストア インデックスには、最大で 1 個のパーティション分割列を含めることができます。A clustered columnstore index can have at most 1 partitioning column.

0 = パーティション分割列ではありません。0 = Not a partitioning column.
is_descending_keyis_descending_key bitbit 1 = インデックス キー列が降順の並べ替え方向。1 = Index key column has a descending sort direction.

0 = インデックス キー列が昇順の並べ替え方向を持っているか、列は、列ストアまたはハッシュ インデックスの一部です。0 = Index key column has an ascending sort direction, or the column is part of a columnstore or hash index.
is_included_columnis_included_column bitbit 1 = 列は、CREATE INDEX INCLUDE 句を使用して、インデックスに追加の非キー列または列が列ストア インデックスの一部です。1 = Column is a nonkey column added to the index by using the CREATE INDEX INCLUDE clause, or the column is part of a columnstore index.

0 = 列は付加列ではありません。0 = Column is not an included column.

列のクラスター化キーの一部であるために、暗黙的に追加するように表示されていないsys.index_columnsします。Columns implicitly added because they are part of the clustering key are not listed in sys.index_columns.

パーティション分割列であるために暗黙的に追加された列は、0 として返されます。Columns implicitly added because they are a partitioning column are returned as 0.
適用対象:Azure SQL Data Warehouse (プレビュー)Applies to: Azure SQL Data Warehouse (preview)
tinyinttinyint (1 から始まる序数) 内では、順序付けされたクラスター化列ストア インデックスの列の順序のセット。Ordinal (1-based) within set of order columns in an ordered clustered columnstore index.


カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. 詳細については、「 Metadata Visibility Configuration」を参照してください。For more information, see Metadata Visibility Configuration.


次の例では、Production.BillOfMaterials テーブルのすべてのインデックスおよびインデックス列を返します。The following example returns all indexes and index columns for the table Production.BillOfMaterials.

USE AdventureWorks2012;  
SELECT AS index_name  
    ,COL_NAME(ic.object_id,ic.column_id) AS column_name  
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');  

結果セットは次のようになります。Here is the result set.

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)  

関連項目See Also

オブジェクト カタログ ビュー (Transact-SQL) Object Catalog Views (Transact-SQL)
カタログ ビュー (Transact-SQL) Catalog Views (Transact-SQL)
sys.indexes (Transact-SQL) sys.indexes (Transact-SQL)
sys.objects (Transact-SQL) sys.objects (Transact-SQL)
sys.columns (Transact-SQL) sys.columns (Transact-SQL)
SQL Server システム カタログに対するクエリに関してよくあるご質問Querying the SQL Server System Catalog FAQ