sys.sp_persistent_version_propre up (Transact-SQL)

S’applique à : SQL Server 2019 (15.x) Azure SQL DatabaseAzure SQL Managed Instance

Démarre manuellement le processus de magasin de versions persistantes (PVS) propre up, élément clé de la récupération accélérée de base de données (ADR). Cet propre er restaure les données non validées dans le PVS à partir de transactions abandonnées.

Il n’est généralement pas nécessaire de démarrer le processus de propre up PVS manuellement à l’aide sys.sp_persistent_version_cleanupde . Toutefois, dans certains scénarios, dans une période connue de repos/récupération après une activité OLTP occupée, vous pouvez lancer manuellement le processus pvS propre up.

Pour plus d’informations sur la récupération ADR sur Azure SQL, consultez Récupération de base de données accélérée dans Azure SQL.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_persistent_version_cleanup
    [ [ @dbname = ] N'dbname' ]
    [ , [ @scanallpages = ] scanallpages ]
    [ , [ @clean_option = ] clean_option ]
[ ; ]

Arguments

[ @dbname = ] N’dbname'

facultatif. Nom de la base de données à propre vers le haut. S’il n’est pas fourni, utilise le contexte de base de données actuel. @dbname est sysname, avec la valeur par défaut NULL.

[ @scanallpages = ] scanallpages

facultatif. @scanallpages est bit, avec la valeur par défaut 0. Lorsqu’elle est définie1, cette option force propre up de toutes les pages de base de données, même si elle n’est pas versionnée.

[ @clean_option = ] propre_option

facultatif. Les options possibles déterminent si la page PVS hors ligne doit être récupérée ou non. @propre_option est int, avec la valeur par défaut 0. Cette référence n’est pas couramment nécessaire et la valeur 0 par défaut est recommandée.

Valeur Description
0 Valeur par défaut, aucune option spécifiée
1 Magasin de versions hors ligne sans case activée contenu de page PVS individuel
2 Magasin de versions hors ligne avec chaque page PVS visitée
3 magasin de versions dans la ligne uniquement
4 utilisation interne uniquement

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Aucune.

Autorisations

Nécessite l’autorisation ALTER DATABASE pour s’exécuter.

Notes

La sys.sp_persistent_version_cleanup procédure stockée est synchrone, ce qui signifie qu’elle ne se termine pas tant que toutes les informations de version ne sont pas propre supprimées du PVS actuel.

Dans SQL Server 2019 (15.x), le processus pvS propre up s’exécute uniquement pour une base de données à la fois. Dans Azure SQL Database et Azure SQL Managed Instance, et à compter de SQL Server 2022 (16.x), le processus de propre up PVS peut s’exécuter en parallèle sur plusieurs bases de données de la même instance.

Si le processus pvS propre up s’exécute déjà sur la base de données souhaitée, cette procédure stockée est bloquée et attend la fin avant de démarrer un autre processus pvS propre up. Les transactions actives et longues dans n’importe quelle base de données où adr est activé peuvent également bloquer propre up du PVS. Vous pouvez surveiller la tâche de version propre er en recherchant son processus avec l’exemple de requête suivant :

SELECT *
FROM sys.dm_exec_requests
WHERE command LIKE '%PERSISTED_VERSION_CLEANER%';

Limites

La mise en miroir de bases de données ne peut pas être définie pour une base de données où ADR est activé ou il existe toujours des versions dans le magasin de versions persistant (PVS). Si adr est désactivé, exécutez sys.sp_persistent_version_cleanup pour propre versions antérieures toujours dans le PVS.

Exemples

Pour activer manuellement le processus pvS propre up entre les charges de travail ou pendant les fenêtres de maintenance, utilisez l’exemple de script suivant :

EXEC sys.sp_persistent_version_cleanup [database_name];

Par exemple :

EXEC sys.sp_persistent_version_cleanup [WideWorldImporters];

Ou, pour supposer le contexte de base de données actuel :

USE [WideWorldImporters];
GO
EXEC sys.sp_persistent_version_cleanup;