sys.index_columns(Transact SQL)

적용 대상:SQL ServerAzure SQL 데이터베이스Azure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW)

인덱스 또는 정렬되지 않은 테이블(힙)의 일부인 열당 하나의 행을 포함합니다.

열 이름 데이터 형식 설명
object_id int 인덱스가 정의된 개체의 ID입니다.
index_id int 열이 정의된 인덱스의 ID입니다.
index_column_id int 인덱스 열의 ID입니다. index_column_id 은 .에서만 고유합니다 index_id.
column_id int 에 있는 열의 ID입니다 object_id.

0 = 비클러스터형 인덱스 RID(행 식별자)입니다.

column_id 은 .에서만 고유합니다 object_id.
key_ordinal tinyint 키 열 집합 내 서수(1부터)입니다.

0 = 키 열이 아니거나, XML 인덱스, columnstore 인덱스 또는 공간 인덱스입니다.

참고: XML 또는 공간 인덱스는 기본 열이 비교할 수 없기 때문에 키가 될 수 없습니다. 즉, 값을 정렬할 수 없습니다.
partition_ordinal tinyint 분할 열 집합 내 서수(1부터)입니다. 클러스터형 columnstore 인덱스에서는 최대 하나의 분할 열을 가질 수 있습니다.

0 = 분할 열 아님
is_descending_key bit 1 = 인덱스 키 열에 내림차순 정렬 방향이 있습니다.

0 = 인덱스 키 열에 오름차순 정렬 방향이 있거나 열이 columnstore 또는 해시 인덱스의 일부입니다.
is_included_column bit 1 = 열은 CREATE INDEX INCLUDE 절을 사용하여 인덱스로 추가된 키가 아닌 열이거나 열이 columnstore 인덱스의 일부입니다.

0 = 열이 포함된 열이 아닙니다.

열이 클러스터링 키의 일부이므로 암시적으로 추가된 열은 나열되지 sys.index_columns않습니다.

분할 열이므로 암시적으로 추가된 열은 다음과 같이 0반환됩니다.
column_store_order_ordinal tinyint 적용 대상: Azure Synapse Analytics 및 SQL Server 2022(16.x)
순서가 지정된 클러스터형 columnstore 인덱스의 순서 열 집합 내 서수(1부터)입니다. 정렬된 클러스터형 columnstore 인덱스에 대한 자세한 내용은 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)

다음 단계