sys.dm_tran_persistent_version_store_stats (Transact-SQL)
S’applique à : SQL Server 2019 (15.x) Azure SQL Database Azure SQL Managed Instance
Retourne des informations pour les métriques de récupération de base de données accélérée (ADR, Accelerated Database Recovery) du magasin de versions persistantes (PVS, Persistent Version Store).
Table retournée
Nom de la colonne | Type de données | Description |
---|---|---|
database_id | int | database_id de cette ligne. 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. |
pvs_filegroup_id | smallint | Groupe de fichiers qui héberge le magasin PVS. |
persistent_version_store_size_kb | bigint | Taille du magasin PVS en kilo-octets, servant à déterminer l’espace actuel utilisé par le magasin PVS. |
online_index_version_store_size_kb | bigint | Taille spéciale du magasin de versions, en kilo-octets, utilisée lors de la reconstruction d’index en ligne. |
current_aborted_transaction_count | bigint | Nombre de transactions abandonnées dans la base de données, dont le détail est visible dans sys.dm_tran_aborted_transactions . |
oldest_active_transaction_id | bigint | ID de la transaction active la plus ancienne. |
oldest_aborted_transaction_id | bigint | ID de la transaction abandonnée la plus ancienne, ou de la valeur la plus ancienne si le nettoyeur de versions PVS ne peut pas supprimer la transaction abandonnée. |
min_transaction_timestamp | bigint | Horodatage minimal utile dans le système à partir des analyses d’instantanés. |
online_index_min_transaction_timestamp | bigint | Horodatage minimal utile dans le système pour retarder le nettoyage de versions PVS, correspondant à online_index_version_store_size_kb . |
secondary_low_water_mark | bigint | ID de transaction correspondant à la limite inférieure agrégée pour les requêtes sur les bases de données secondaires lisibles, Il s’agit d’un ID de transaction et peut être utilisé pour comparer avec oldest_active_transaction_id et oldest_aborted_transaction_id . |
offrow_version_cleaner_start_time | datetime2(7) | Heure de début du processus de nettoyage de versions PVS hors lignes. |
offrow_version_cleaner_end_time | datetime2(7) | Heure de fin du processus de nettoyage de versions PVS hors lignes. |
aborted_version_cleaner_start_time | datetime2(7) | Horodatage de début d’un balayage complet. |
aborted_version_cleaner_end_time | datetime2(7) | Horodatage de fin du dernier balayage complet. Si l’heure de début possède une valeur, mais pas l’heure de fin, cela signifie que le nettoyage de versions PVS est en cours sur cette base de données. |
pvs_off_row_page_skipped_low_water_mark | bigint | Nombre de pages ignorées pour la récupération en raison d’un retardement des requêtes de lecture secondaires. |
pvs_off_row_page_skipped_transaction_not_cleaned | bigint | Nombre de pages ignorées pour la récupération en raison de transactions abandonnées. Notez que cette valeur ne reflète pas le retardement du magasin PVS des transactions abandonnées, car le nettoyeur de versions utilise un seuil minimal pour le nettoyage de versions des transactions abandonnées. Cet aspect peut être ignoré pour un problème de magasin PVS volumineux. |
pvs_off_row_page_skipped_oldest_active_xdesid | bigint | Nombre de pages ignorées pour la récupération en raison de la transaction active la plus ancienne. |
pvs_off_row_page_skipped_min_useful_xts | bigint | Nombre de pages ignorées pour la récupération en raison d’une longue analyse d’instantané. |
pvs_off_row_page_skipped_oldest_snapshot | bigint | Nombre de pages ignorées pour la récupération en raison d’activités de reconstruction d’index en ligne. Ce processus n’est pas courant avec le magasin PVS. |
pvs_off_row_page_skipped_oldest_aborted_xdesid | bigint | S’applique à :SQL Server 2022 (16.x) et versions plus récentes. Nombre de pages ignorées pour la récupération en raison des transactions abandonnées les plus anciennes. Nombre de pages à conserver pour les transactions abandonnées si le nettoyeur de versions est lent ou invalidé. |
autorisations
Sur SQL Server et SQL Managed Instance, l’autorisation VIEW SERVER STATE
est requise.
Sur les objectifs de service SQL Database Basic, S0 et S1, et pour les bases de données dans des pools élastiques, le compte d’administrateur du serveur, le compte d’administrateur Microsoft Entra ou l’appartenance au ##MS_ServerStateReader##
rôle serveur est requis. Sur tous les autres objectifs de service SQL Database, l’autorisation VIEW DATABASE STATE
sur la base de données ou l’appartenance au rôle serveur ##MS_ServerStateReader##
est requise.
Autorisations pour SQL Server 2022 (et versions plus récentes)
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
Notes
Passez en revue les meilleures pratiques pour accélérer la récupération de base de données. Si votre PVS ADR augmente, consultez Résoudre les problèmes de récupération accélérée de la base de données.