sys.dm_tran_version_store_space_usage (Transact-SQL)
S’applique à : SQL Server 2016 (13.x) SP 2 et versions ultérieures Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)
Retourne une table qui affiche l’espace total dans tempdb utilisé par les enregistrements de magasin de versions pour chaque base de données. sys.dm_tran_version_store_space_usage est efficace et n’est pas coûteux à exécuter, car il ne navigue pas dans les enregistrements de magasin de versions individuels et retourne l’espace de stockage de versions agrégé consommé dans tempdb par base de données.
Chaque enregistrement avec version est stocké sous forme de données binaires, ainsi que des informations de suivi ou d’état. À l'instar des enregistrements des tables de la base de données, ceux de la banque des versions sont stockés dans des pages de 8 192 octets. Si un enregistrement excède ces 8 192 octets, il est réparti sur deux enregistrements.
Comme l'enregistrement avec contrôle de version est stocké sous forme binaire, cela ne pose pas de problème avec les différents classements des différentes bases de données. Utilisez sys.dm_tran_version_store_space_usage pour surveiller et planifier la taille tempdb en fonction de l’utilisation de l’espace de stockage des versions des bases de données dans une instance SQL Server.
Nom de la colonne | Type de données | Description |
---|---|---|
database_id | int | ID de base de données de la base de données. Dans Azure SQL Database, les valeurs sont uniques au sein d’une base de données unique ou d’un pool élastique, mais pas dans un serveur logique. |
reserved_page_count | bigint | Nombre total de pages réservées dans tempdb pour les enregistrements de magasin de versions de la base de données. |
reserved_space_kb | bigint | Espace total utilisé en kilo-octets dans tempdb pour les enregistrements de magasin de versions de la base de données. |
autorisations
Sur SQL Server, nécessite l’autorisation VIEW SERVER STATE
.
Autorisations pour SQL Server 2022 (et versions plus récentes)
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
Exemples
La requête suivante peut être utilisée pour déterminer l’espace consommé dans tempdb, par magasin de versions de chaque base de données dans une instance SQL Server.
SELECT
DB_NAME(database_id) as 'Database Name',
reserved_page_count,
reserved_space_kb
FROM sys.dm_tran_version_store_space_usage;
Voici le jeu de résultats obtenu.
Database Name reserved_page_count reserved_space_kb
------------------------ -------------------- -----------
msdb 0 0
AdventureWorks2022 10 80
AdventureWorks2022DW 0 0
WideWorldImporters 20 160
Voir aussi
Fonctions et vues de gestion dynamique (Transact-SQL)
Fonctions et vues de gestion dynamique relatives aux transactions (Transact-SQL)