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)