다음을 통해 공유


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 권한이 필요합니다.

sys.dm_db_file_space_usage 뷰를 사용하는 예는 tempdb의 디스크 공간 부족 문제 해결을 참조하십시오.