sys.index_columns(Transact SQL)
sys.indexes 인덱스 또는 정렬되지 않은 테이블(힙)의 일부인 열 하나당 하나의 행을 포함합니다.
적용 대상: SQL Server(SQL Server 2008 - 현재 버전), Windows Azure SQL 데이터베이스(최초 릴리스 - 현재 릴리스) |
열 이름 |
데이터 형식 |
설명 |
---|---|---|
object_id |
int |
인덱스가 정의되는 개체의 ID입니다. |
index_id |
int |
열이 정의되는 인덱스의 ID입니다. |
index_column_id |
int |
인덱스 열의 ID입니다. index_column_id는 index_id 내에서만 고유합니다. |
column_id |
int |
object_id에 있는 열의 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으로 반환됩니다. |
사용 권한
사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 메타데이터 표시 유형 구성을 참조하십시오.
예
다음 예는 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');
결과 집합은 다음과 같습니다.
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)