sys.dm_tran_version_store_space_usage (Transact-SQL)

Van toepassing op: SQL Server 2016 (13.x) SP2 en latere versies Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

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 records in databasetabellen worden versieopslagrecords opgeslagen op pagina's van 8192 bytes. Als een record groter is dan 8.192 bytes, wordt de record verdeeld over twee verschillende records.

Omdat het versiegekleurde record als binair wordt opgeslagen, zijn er geen problemen met verschillende collaties uit 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 int 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 bigint Het totale aantal pagina's dat is gereserveerd in tempdb voor versieopslagrecords van de database.
reserved_space_kb bigint Totale ruimte die wordt gebruikt in kilobytes in tempdb voor versieopslagrecords van de database.

Permissions

Voor SQL Server is VIEW SERVER STATE machtiging vereist.

Machtigingen voor SQL Server 2022 en hoger

Vereist VIEW SERVER PERFORMANCE STATE toestemming op de server.

Examples

De volgende query kan worden gebruikt om de ruimte te bepalen die in tempdbwordt 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;

Hier is het resultatenoverzicht.

Database Name            reserved_page_count reserved_space_kb
------------------------ -------------------- -----------
msdb                      0                    0
AdventureWorks2022        10                   80
AdventureWorks2022DW      0                    0
WideWorldImporters        20                   160