다음을 통해 공유


sys.index_columns (Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric 미리 보기의 SQL 데이터베이스

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

Column name Data type Description
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 인덱스, 공간 인덱스 또는 JSON 인덱스입니다.

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

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

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

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

순서가 지정된 columnstore 인덱스의 순서 열 집합 내 서수(1부터)입니다. 순서가 지정된 columnstore 인덱스에 대한 자세한 내용은 순서가 지정된 columnstore 인덱스 성능 튜닝을 참조하세요.
data_clustering_ordinal tinyint 0 = columnstore 인덱스가 아니고 데이터 클러스터링 서수가 적용되지 않음
적용 대상: 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)

Next steps