sys.allocation_units(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스Azure SQL Managed Instance

데이터베이스의 각 할당 단위에 대해 한 행씩 있습니다.

열 이름 데이터 형식 Description
allocation_unit_id bigint 할당 단위의 ID입니다. 데이터베이스 내에서 고유합니다.
형식 tinyint 할당 단위 형식입니다.

0 = 삭제됨

1 = 행 내부 데이터(LOB 데이터 형식을 제외한 모든 데이터 형식)

2 = LOB(큰 개체) 데이터(text, ntext, image, xml, large value types 및 CLR 사용자 정의 형식)

3 = 행 오버플로 데이터
type_desc nvarchar(60) 할당 단위 유형에 대한 설명입니다.

떨어졌다

IN_ROW_DATA

LOB_DATA

ROW_OVERFLOW_DATA
container_id bigint 할당 단위와 연결된 스토리지 컨테이너의 ID입니다.

rowstore 인덱스에서 = 1 또는 3을 입력하면 = sys.partitions.hobt_id container_id.

columnstore 인덱스에서 = 1 또는 3을 입력하면 = container_id = sys.column_store_row_groups.delta_store_hobt_id입니다.

type이 2이면 container_id = sys.partitions.partition_id입니다.

0 = 삭제가 지연된 것으로 표시된 할당 단위
data_space_id int 이 할당 단위가 있는 파일 그룹의 ID입니다.
total_pages bigint 이 할당 단위가 할당하거나 예약한 총 페이지 수입니다.
used_pages bigint 실제로 사용 중인 총 페이지 수입니다.
data_pages bigint 다음을 포함하는 사용된 페이지 수입니다.

행 내부 데이터

LOB 데이터

행 오버플로 데이터



반환된 값은 내부 인덱스 페이지 및 할당 관리 페이지를 제외합니다.

참고

큰 인덱스를 삭제하거나 다시 작성하거나, 큰 테이블을 삭제하거나, 큰 테이블 또는 파티션을 자르면 데이터베이스 엔진은 트랜잭션이 커밋될 때까지 실제 페이지 할당 취소 및 관련 잠금을 연기합니다. 삭제 작업이 지연되어도 할당된 공간이 즉시 해제되지는 않습니다. 따라서 큰 개체를 삭제하거나 자를 때마다 sys.allocation_units에서 반환하는 값은 사용 가능한 실제 디스크 공간을 반영하지 않을 수도 있습니다.

가속 데이터베이스 복구를 사용하도록 설정하면 개체 크기에 관계없이 지연된 삭제가 사용됩니다.

사용 권한

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

예제

개체 및 할당 단위 유형에 사용되는 공간 결정

다음 쿼리는 데이터베이스의 모든 사용자 테이블과 각 데이터베이스에 사용되는 공간의 양을 할당 단위 유형별로 반환합니다.

SELECT t.object_id AS ObjectID,
       OBJECT_NAME(t.object_id) AS ObjectName,
       SUM(u.total_pages) * 8 AS Total_Reserved_kb,
       SUM(u.used_pages) * 8 AS Used_Space_kb,
       u.type_desc AS TypeDesc,
       MAX(p.rows) AS RowsCount
FROM sys.allocation_units AS u
JOIN sys.partitions AS p ON u.container_id = p.hobt_id
JOIN sys.tables AS t ON p.object_id = t.object_id
GROUP BY t.object_id,
         OBJECT_NAME(t.object_id),
         u.type_desc
ORDER BY Used_Space_kb DESC,
         ObjectName;

참고 항목

sys.partitions(Transact-SQL)
개체 카탈로그 뷰(Transact-SQL)
카탈로그 뷰(Transact-SQL)