sys.dm_tran_version_store_space_usage (Transact-SQL)
Dotyczy: programu SQL Server 2016 (13.x) SP 2 i nowszych azure SQL Database usługa Azure Synapse Analytics Analytics (PDW)
Zwraca tabelę, która wyświetla łączną ilość miejsca w tempdb
używanych przez rekordy magazynu wersji dla każdej bazy danych.
sys.dm_tran_version_store_space_usage jest wydajna i nie jest kosztowna do uruchomienia, ponieważ nie przechodzi przez poszczególne rekordy magazynu wersji i zwraca zagregowane miejsce magazynu wersji używane w bazie danych tempdb na bazę danych.
Każdy rekord w wersji jest przechowywany jako dane binarne wraz z pewnymi informacjami o śledzeniu lub stanie. Podobnie jak w przypadku rekordów w tabelach bazy danych, rekordy magazynu wersji są przechowywane na stronach 8192-bajtowych. Jeśli rekord przekracza 8192 bajty, rekord jest podzielony na dwa różne rekordy.
Ponieważ wersja rekordu jest przechowywana jako plik binarny, nie ma problemów z różnymi sortowaniami z różnych baz danych. Użyj sys.dm_tran_version_store_space_usage do monitorowania i planowania rozmiaru tempdb
na podstawie użycia miejsca w magazynie wersji baz danych w wystąpieniu programu SQL Server.
Nazwa kolumny | Typ danych | Opis |
---|---|---|
database_id | Identyfikator bazy danych. W usłudze Azure SQL Database wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego. |
|
reserved_page_count | bigint | Łączna liczba stron zarezerwowanych w tempdb dla rekordów magazynu wersji bazy danych. |
reserved_space_kb | bigint | Łączna ilość miejsca używanego w kilobajtach w tempdb dla rekordów magazynu wersji bazy danych. |
Uprawnienia
W programie SQL Server wymagane jest VIEW SERVER STATE
uprawnienia.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Przykłady
Poniższe zapytanie może służyć do określania miejsca używanego w tempdb
, według magazynu wersji każdej bazy danych w wystąpieniu programu SQL Server.
SELECT
DB_NAME(database_id) as 'Database Name',
reserved_page_count,
reserved_space_kb
FROM sys.dm_tran_version_store_space_usage;
Oto zestaw wyników.
Database Name reserved_page_count reserved_space_kb
------------------------ -------------------- -----------
msdb 0 0
AdventureWorks2022 10 80
AdventureWorks2022DW 0 0
WideWorldImporters 20 160
Powiązana zawartość
- dynamiczne widoki zarządzania i funkcje (Transact-SQL)
- dynamiczne widoki zarządzania i funkcje związane z transakcjami (Transact-SQL)