다음을 통해 공유


sys.index_columns(Transact SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics 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)

다음 단계