sys.partitions(Transact-SQL)

적용 대상:yesSQL Server(지원되는 모든 버전) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System(PDW)

데이터베이스 내의 모든 테이블 및 대부분의 인덱스에서 각 파티션당 행 하나를 포함합니다. Full-Text, Spatial, XML 등의 특수 인덱스 유형은 이 뷰에 포함되지 않습니다. SQL Server 모든 테이블 및 인덱스에는 명시적으로 분할되었는지 여부에 관계없이 하나 이상의 파티션이 포함됩니다.

열 이름 데이터 형식 설명
partition_id bigint 파티션 ID를 나타냅니다. 데이터베이스 내에서 고유합니다.
object_id int 이 파티션이 속한 개체의 ID를 나타냅니다. 모든 테이블 또는 뷰는 최소한 하나 이상의 파티션으로 구성됩니다.
index_id int 이 파티션이 속한 개체 내부의 인덱스 ID를 나타냅니다.

0 = 힙
1 = 클러스터형 인덱스
2 이상 = 비클러스터형 인덱스
partition_number int 소유하는 인덱스나 힙 내의 1부터 시작하는 파티션 번호입니다. 분할되지 않은 테이블과 인덱스의 경우 이 열의 값은 1입니다.
hobt_id bigint 이 파티션에 대한 행을 포함하는 데이터 힙 또는 B-트리(HoBT)의 ID를 나타냅니다.
rows bigint 이 파티션에 있는 행의 대략적인 수를 나타냅니다.
filestream_filegroup_id smallint 적용 대상: SQL Server 2012(11.x) 이상

이 파티션에 저장된 FILESTREAM 파일 그룹의 ID를 나타냅니다.
data_compression tinyint 각 파티션의 압축 상태를 나타냅니다.

0 = 없음
1 = ROW
2 = PAGE
3 = COLUMNSTORE: 적용 대상: SQL Server 2012(11.x) 이상
4 = COLUMNSTORE_ARCHIVE: 적용 대상: SQL Server 2014(12.x) 이상

참고: 전체 텍스트 인덱스는 모든 버전의 SQL Server 압축됩니다.
data_compression_desc nvarchar(60) 각 파티션의 압축 상태를 나타냅니다. rowstore 테이블의 가능한 값은 NONE, ROW 및 PAGE입니다. columnstore 테이블의 가능한 값은 COLUMNSTORE 및 COLUMNSTORE_ARCHIVE입니다.

사용 권한

public 역할의 멤버 자격이 필요합니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

다음 쿼리는 데이터베이스의 모든 개체, 각 개체에 사용되는 공간의 양 및 각 개체와 관련된 파티션 정보를 반환합니다.

SELECT object_name(object_id) AS ObjectName,
total_pages / 128. AS SpaceUsed_MB,
p.partition_id,
p.object_id,
p.index_id,
p.partition_number,
p.rows,
p.data_compression_desc
FROM sys.partitions AS p
JOIN sys.allocation_units AS au ON p.partition_id = au.container_id
ORDER BY SpaceUsed_MB DESC;

참고 항목

개체 카탈로그 뷰(Transact-SQL)
카탈로그 뷰(Transact-SQL)
SQL Server 시스템 카탈로그 쿼리에 대한 질문과 대답