sys.dm_tran_version_store_space_usage(Transact-SQL)
적용 대상: SQL Server 2016(13.x) SP 2 이상 Azure SQL 데이터터베이스 Azure Synapse Analytics Analytics Platform System(PDW)
각 데이터베이스에 대한 버전 저장소 레코드에서 사용하는 tempdb의 총 공간을 표시하는 테이블을 반환합니다. sys.dm_tran_version_store_space_usage 개별 버전 저장소 레코드를 탐색하지 않고 데이터베이스당 tempdb에 사용된 집계된 버전 저장소 공간을 반환하므로 효율적이고 실행 비용이 많이 들지 않습니다.
버전이 지정된 각 레코드는 일부 추적 또는 상태 정보와 함께 이진 데이터로 저장됩니다. 데이터베이스 테이블의 레코드와 마찬가지로 버전 저장소 레코드도 8192바이트 페이지로 저장됩니다. 레코드가 8192바이트를 초과하면 레코드가 서로 다른 두 레코드로 분할됩니다.
버전이 지정된 레코드는 이진으로 저장되므로 서로 다른 데이터베이스의 데이터 정렬에 문제가 없습니다. sys.dm_tran_version_store_space_usage 사용하여 SQL Server 인스턴스에 있는 데이터베이스의 버전 저장소 공간 사용에 따라 tempdb 크기를 모니터링하고 계획합니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
database_id | int | 데이터베이스의 데이터베이스 ID입니다. Azure SQL Database에서 값은 단일 데이터베이스 또는 탄력적 풀 내에서 고유하지만 논리 서버 내에는 고유하지 않습니다. |
reserved_page_count | bigint | 데이터베이스의 버전 저장소 레코드에 대해 tempdb로 예약된 페이지의 총 수입니다. |
reserved_space_kb | bigint | 데이터베이스의 버전 저장소 레코드를 위해 tempdb에서 킬로바이트 단위로 사용되는 총 공간입니다. |
사용 권한
SQL Server에서 VIEW SERVER STATE
권한이 필요합니다.
SQL Server 2022 이상에 대한 사용 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
예제
다음 쿼리를 사용하여 SQL Server 인스턴스에 있는 각 데이터베이스의 버전 저장소를 통해 tempdb에서 사용되는 공간을 확인할 수 있습니다.
SELECT
DB_NAME(database_id) as 'Database Name',
reserved_page_count,
reserved_space_kb
FROM sys.dm_tran_version_store_space_usage;
결과 집합은 다음과 같습니다.
Database Name reserved_page_count reserved_space_kb
------------------------ -------------------- -----------
msdb 0 0
AdventureWorks2022 10 80
AdventureWorks2022DW 0 0
WideWorldImporters 20 160
참고 항목
동적 관리 뷰 및 함수(Transact-SQL)
트랜잭션 관련 동적 관리 뷰 및 함수(Transact-SQL)