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

적용 대상: 예SQL Server 예Azure SQL Database 예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

일부인 열 하나당 하나의 행을 포함 한 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 인덱스, columnstore 인덱스 또는 공간 인덱스입니다.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. 클러스터형 columnstore 인덱스는 하나의 분할 열만 가질 수 있습니다.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 = 인덱스 키 열이 오름차순으로 정렬되거나 열이 columnstore 또는 해시 인덱스의 일부입니다.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 절을 사용하여 인덱스에 추가된 키가 아닌 열이거나 columnstore 인덱스의 일부인 열입니다.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.
column_store_order_ordinalcolumn_store_order_ordinal
적용 대상: Azure SQL Data Warehouse (미리 보기)Applies to: Azure SQL Data Warehouse (preview)
tinyinttinyint 서 수 (1부터 시작) 내에서 순서가 지정 된 클러스터형된 columnstore 인덱스의 열 순서 지정의 집합입니다.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. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.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)
sys.indexes(Transact-SQL) sys.indexes (Transact-SQL)
sys.objects(Transact-SQL) sys.objects (Transact-SQL)
CREATE INDEX(Transact-SQL) CREATE INDEX (Transact-SQL)
sys.columns(Transact-SQL) sys.columns (Transact-SQL)
SQL Server 시스템 카탈로그 쿼리 FAQQuerying the SQL Server System Catalog FAQ