다음을 통해 공유


sys.indexes(Transact-SQL)

적용 대상: Microsoft Fabric의 SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) SQL 데이터베이스

테이블, 뷰 또는 테이블 반환 함수와 같은 테이블 형식 개체의 인덱스 또는 힙당 하나의 행을 포함합니다.

열 이름 데이터 형식 설명
object_id int 이 인덱스가 속한 개체의 ID입니다.
이름 sysname 인덱스의 이름입니다. name 는 개체 내에서만 고유합니다.

NULL = 힙
index_id int 인덱스의 ID입니다. index_id 는 개체 내에서만 고유합니다.

0 = 힙

1 = 클러스터형 인덱스

> 1 = 비클러스터형 인덱스
type tinyint 인덱스 유형:

0 = 힙

1 = 클러스터형 rowstore(B-트리)

2 = 비클러스터형 rowstore(B-트리)

3 = XML

4 = 공간

5 = 클러스터형 columnstore 인덱스입니다. 적용 대상: SQL Server 2014(12.x) 이상

6 = 비클러스터형 columnstore 인덱스입니다. 적용 대상: SQL Server 2012(11.x) 이상

7 = 비클러스터형 해시 인덱스입니다. 적용 대상: SQL Server 2014(12.x) 이상
type_desc nvarchar(60) 인덱스 유형에 대한 설명:

HEAP

CLUSTERED

NONCLUSTERED

XML

공간의

CLUSTERED COLUMNSTORE - 적용 대상: SQL Server 2014(12.x) 이상

비클러스터형 COLUMNSTORE - 적용 대상: SQL Server 2012(11.x) 이상

비클러스터형 해시: 비클러스터형 해시 인덱스는 메모리 최적화 테이블에서만 지원됩니다. 보기에는 sys.hash_indexes 현재 해시 인덱스 및 해시 속성이 표시됩니다. 자세한 내용은 sys.hash_indexes(Transact-SQL)를 참조 하세요. 적용 대상: SQL Server 2014(12.x) 이상
is_unique bit 1 = 인덱스가 고유합니다.

0 = 인덱스가 고유하지 않습니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
data_space_id int 이 인덱스의 데이터 공간 ID입니다. 데이터 공간은 파일 그룹 또는 파티션 구성표입니다.

0 = object_id 테이블 반환 함수 또는 메모리 내 인덱스입니다.
ignore_dup_key bit 1 = IGNORE_DUP_KEY ON입니다.

0 = IGNORE_DUP_KEY OFF입니다.
is_primary_key bit 1 = 인덱스가 PRIMARY KEY 제약 조건의 일부입니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
is_unique_constraint bit 1 = 인덱스가 UNIQUE 제약 조건의 일부입니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
fill_factor tinyint > 0 = 인덱스를 만들거나 다시 작성할 때 사용된 FILLFACTOR 백분율입니다.

0 = 기본값

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
is_padded bit 1 = PADINDEX가 ON입니다.

0 = PADINDEX가 OFF입니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
is_disabled bit 1 = 인덱스가 비활성화되었습니다.

0 = 인덱스가 비활성화되지 않았습니다.
is_hypothetical bit 1 = 인덱스는 가상이며 데이터 액세스 경로로 직접 사용할 수 없습니다. 가상 인덱스는 열 수준 통계를 보유합니다.

0 = 인덱스가 가상 인덱스입니다.
allow_row_locks bit 1 = 인덱스에서 행 잠금을 허용합니다.

0 = 인덱스는 행 잠금을 허용하지 않습니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
allow_page_locks bit 1 = 인덱스는 페이지 잠금을 허용합니다.

0 = 인덱스는 페이지 잠금을 허용하지 않습니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
has_filter bit 1 = 인덱스에는 필터가 있으며 필터 정의를 충족하는 행만 포함됩니다.

0 = 인덱스 필터가 없습니다.
filter_definition nvarchar(max) 필터링된 인덱스에 포함된 행의 하위 집합에 대한 식입니다.

힙, 필터링되지 않은 인덱스 또는 테이블에 대한 권한이 부족한 경우 NULL입니다.
compression_delay int > 0 = Columnstore 인덱스 압축 지연 시간(분)입니다.

NULL = Columnstore 인덱스 행 그룹 압축 지연이 자동으로 관리됩니다.
suppress_dup_key_messages bit 1 = 인덱스 다시 작성 작업 중에 중복 키 메시지를 표시하지 않는 인덱스가 구성됩니다.

0 = 인덱스 다시 작성 작업 중에 중복 키 메시지를 표시하지 않도록 인덱스가 구성되지 않았습니다.

적용 대상: SQL Server(SQL Server 2017(14.x)부터), Azure SQL Database 및 Azure SQL Managed Instance
auto_created bit 1 = 자동 튜닝을 통해 인덱스가 생성되었습니다.

0 = 사용자가 인덱스가 생성되었습니다.

적용 대상: Azure SQL Database
optimize_for_sequential_key bit 1 = 인덱스가 마지막 페이지 삽입 최적화를 사용하도록 설정했습니다.

0 = 기본값입니다. 인덱스가 마지막 페이지 삽입 최적화를 사용하지 않도록 설정했습니다.

적용 대상: SQL Server(SQL Server 2019(15.x)부터), Azure SQL Database 및 Azure SQL Managed Instance

사용 권한

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

예제

다음 예제에서는 AdventureWorks2022 데이터베이스의 테이블에 Production.Product 대한 모든 인덱스를 반환합니다.

SELECT i.name AS index_name  
    ,i.type_desc  
    ,is_unique  
    ,ds.type_desc AS filegroup_or_partition_scheme  
    ,ds.name AS filegroup_or_partition_scheme_name  
    ,ignore_dup_key  
    ,is_primary_key  
    ,is_unique_constraint  
    ,fill_factor  
    ,is_padded  
    ,is_disabled  
    ,allow_row_locks  
    ,allow_page_locks  
FROM sys.indexes AS i  
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id  
WHERE is_hypothetical = 0 AND i.index_id <> 0   
AND i.object_id = OBJECT_ID('Production.Product');  
GO  

다음 단계

개체 카탈로그 뷰(Transact-SQL)
카탈로그 보기(Transact-SQL)
sys.index_columns(Transact SQL)
sys.xml_indexes(Transact-SQL)
sys.objects(Transact-SQL)
sys.key_constraints(Transact-SQL)
sys.filegroups(Transact-SQL)
sys.partition_schemes(Transact-SQL)
SQL Server 시스템 카탈로그 쿼리 FAQ
메모리 내 OLTP(메모리 내 최적화)