sys.dm_tran_version_store_space_usage (Transact-SQL)
Van toepassing op: SQL Server 2016 (13.x) SP 2 en hoger
Azure SQL Database
Azure Synapse Analytics
Analytics Platform System (PDW)
Retourneert een tabel die de totale ruimte weergeeft in tempdb
die worden gebruikt door versieopslagrecords voor elke database.
sys.dm_tran_version_store_space_usage efficiënt en niet duur is om uit te voeren, omdat deze niet door afzonderlijke versiearchiefrecords navigeert en geaggregeerde versieopslagruimte retourneert die in tempdb per database wordt verbruikt.
Elke versierecord wordt opgeslagen als binaire gegevens, samen met enkele tracerings- of statusgegevens. Net als bij records in databasetabellen worden versieopslagrecords opgeslagen op 8192-bytepagina's. Als een record groter is dan 8.192 bytes, wordt de record verdeeld over twee verschillende records.
Omdat de versie van de record als binair wordt opgeslagen, zijn er geen problemen met verschillende sorteringen van verschillende databases. Gebruik sys.dm_tran_version_store_space_usage om de grootte van tempdb
te bewaken en te plannen op basis van het gebruik van de ruimte voor de versieopslag van databases in een SQL Server-exemplaar.
Kolomnaam | Gegevenstype | Beschrijving |
---|---|---|
database_id | Database-id van de database. In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server. |
|
reserved_page_count | grote | Het totale aantal pagina's dat is gereserveerd in tempdb voor versieopslagrecords van de database. |
reserved_space_kb | grote | Totale ruimte die wordt gebruikt in kilobytes in tempdb voor versieopslagrecords van de database. |
Machtigingen
Voor SQL Server is VIEW SERVER STATE
machtiging vereist.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Voorbeelden
De volgende query kan worden gebruikt om de ruimte te bepalen die in tempdb
wordt verbruikt, per versiearchief van elke database in een SQL Server-exemplaar.
SELECT
DB_NAME(database_id) as 'Database Name',
reserved_page_count,
reserved_space_kb
FROM sys.dm_tran_version_store_space_usage;
Dit is de resultatenset.
Database Name reserved_page_count reserved_space_kb
------------------------ -------------------- -----------
msdb 0 0
AdventureWorks2022 10 80
AdventureWorks2022DW 0 0
WideWorldImporters 20 160