sys.dm_db_file_space_usage(Transact-SQL)
데이터베이스의 각 파일에 대한 공간 사용량 정보를 반환합니다.
[!참고]
이 뷰는 tempdb 데이터베이스에만 적용됩니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
database_id |
smallint |
데이터베이스 ID입니다. |
file_id |
smallint |
파일 ID입니다. file_id는 sys.dm_io_virtual_file_stats의 file_id와 sys.sysfiles의 fileid에 매핑됩니다. |
unallocated_extent_page_count |
bigint |
파일에서 할당되지 않은 익스텐트에 있는 총 페이지 수입니다. 자세한 내용은 페이지 및 익스텐트 이해를 참조하십시오. 할당된 익스텐트에서 사용되지 않은 페이지는 포함되지 않습니다. |
version_store_reserved_page_count |
bigint |
버전 저장소에 대해 할당된 단일 익스텐트에 있는 총 페이지 수입니다. 버전 저장소 페이지는 혼합 익스텐트에서 할당되지 않습니다. IAM 페이지는 항상 혼합 익스텐트에서 할당되기 때문에 포함되지 않습니다. PFS 페이지는 단일 익스텐트에서 할당된 경우에 포함됩니다. 자세한 내용은 sys.dm_tran_version_store(Transact-SQL)를 참조하십시오. |
user_object_reserved_page_count |
bigint |
데이터베이스에서 사용자 개체에 대해 단일 익스텐트에서 할당된 총 페이지 수입니다. 할당된 익스텐트에서 사용되지 않은 페이지도 포함됩니다. IAM 페이지는 항상 혼합 익스텐트에서 할당되기 때문에 포함되지 않습니다. PFS 페이지는 단일 익스텐트에서 할당된 경우에 포함됩니다. sys.allocation_units 카탈로그 뷰의 total_pages 열을 사용하여 사용자 개체에 있는 각 할당 단위의 예약된 페이지 수를 반환할 수 있습니다. 하지만 total_pages 열에는 IAM 페이지가 포함됩니다. |
internal_object_reserved_page_count |
bigint |
파일에서 내부 개체에 대해 할당된 단일 익스텐트의 총 페이지 수입니다. 할당된 익스텐트에서 사용되지 않은 페이지도 포함됩니다. IAM 페이지는 항상 혼합 익스텐트에서 할당되기 때문에 포함되지 않습니다. PFS 페이지는 단일 익스텐트에서 할당된 경우에 포함됩니다. 각 내부 개체의 페이지 수를 반환하는 카탈로그 뷰나 동적 관리 개체는 없습니다. |
mixed_extent_page_count |
bigint |
파일에서 할당된 혼합 익스텐트의 할당된 페이지와 할당되지 않은 페이지의 총 수입니다. 혼합 익스텐트에는 여러 다른 개체에 할당된 페이지가 포함됩니다. 이 값에는 파일에 있는 모든 IAM 페이지가 포함됩니다. |
주의
페이지 수는 항상 익스텐트 수준에 대한 값입니다. 따라서 페이지 수는 항상 8의 배수입니다. GAM(Global Allocation Map) 및 SGAM(Shared Global Allocation Map) 할당 페이지를 포함하는 익스텐트는 할당된 단일 익스텐트로, 앞서 설명된 페이지 수에 포함되지 않습니다.
현재 버전 저장소의 내용은 sys.dm_tran_version_store에 있습니다. 버전 저장소 페이지는 전역 리소스이기 때문에 세션 및 태스크 수준이 아닌 파일 수준에서 추적됩니다. 세션에서 버전을 생성할 수 있지만 버전은 세션 종료 시 제거할 수 없습니다. 버전 저장소를 정리할 때는 특정 버전에 대한 액세스가 필요한 가장 오래 실행 중인 트랜잭션을 고려해야 합니다. 버전 저장소 정리와 관련하여 가장 오래 실행 중인 트랜잭션을 검색할 때는 sys.dm_tran_active_snapshot_database_transactions의 elapsed_time_seconds 열을 확인합니다.
mixed_extent_page_count 열이 빈번하게 변경되면 SGAM 페이지가 자주 사용되는 것일 수 있습니다. 이 경우 대기 리소스가 SGAM 페이지인 PAGELATCH_UP 대기를 많이 볼 수 있습니다. 자세한 내용은 sys.dm_os_waiting_tasks(Transact-SQL), sys.dm_os_wait_stats(Transact-SQL) 및 sys.dm_os_latch_stats(Transact-SQL)를 참조하십시오. SGAM 페이지에 대한 자세한 내용은 익스텐트 할당 및 빈 공간 관리를 참조하십시오.
사용자 개체
사용자 개체 페이지 카운터에 포함되는 개체는 다음과 같습니다.
사용자 정의 테이블 및 인덱스
시스템 테이블 및 인덱스
전역 임시 테이블 및 인덱스
로컬 임시 테이블 및 인덱스
테이블 변수
테이블 반환 함수에서 반환된 테이블
내부 개체
내부 개체는 tempdb에만 있습니다. 내부 개체 페이지 카운터에 포함되는 개체는 다음과 같습니다.
커서 또는 스풀 작업에 대한 작업 테이블 및 임시 LOB(Large Object) 저장소
해시 조인과 같은 작업에 대한 작업 파일
정렬 실행
관계 카디널리티
원본 |
대상 |
관계 |
---|---|---|
sys.dm_db_file_space_usage.database_id, file_id |
sys.dm_io_virtual_file_stats.database_id, file_id |
일 대 일 |
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.