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

Sysインデックスまたは順序なしテーブル (ヒープ) の一部である列ごとに1行の値を格納します。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_idindex_id内でのみ一意です。index_column_id is unique only within index_id.
column_idcolumn_id intint Object_id内の列の ID。ID of the column in object_id.

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

column_idobject_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.

クラスター化キーの一部であるために暗黙的に追加された列は、 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.
column_store_order_ordinalcolumn_store_order_ordinal
適用対象: 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.

アクセス許可Permissions

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。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.詳細については、「メタデータ表示の構成」を参照してください。For more information, see Metadata Visibility Configuration.

Examples

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

USE AdventureWorks2012;  
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');  
  

結果セットは次のようになります。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)
SQL)(Transact-sql のインデックス sys.indexes (Transact-SQL)
sys (Transact-sql) sys.objects (Transact-SQL)
CREATE INDEX (Transact-SQL) CREATE INDEX (Transact-SQL)
(Transact-sql)の列 sys.columns (Transact-SQL)
SQL Server システム カタログに対するクエリに関してよく寄せられる質問Querying the SQL Server System Catalog FAQ