sys.sp_persistent_version_sauber up (Transact-SQL)
Gilt für: SQL Server 2019 (15.x) Azure SQL-Datenbank Azure SQL-verwaltete Instanz
Startet manuell den permanenten Versionsspeicher (PVS) sauber up-Prozess, ein Schlüsselelement der beschleunigten Datenbankwiederherstellung (ADR). Dieser sauber er rollt aus abgebrochenen Transaktionen nicht ausgelassene Daten in der PVS zurück.
Es ist in der Regel nicht erforderlich, den PVS-sauber up-Prozess manuell zu sys.sp_persistent_version_cleanup
starten. In einigen Szenarien sollten Sie den PVS-sauber Up-Prozess jedoch in einem bekannten Zeitraum der Ruhe/Wiederherstellung nach der olTP-Aktivität manuell initiieren.
Weitere Informationen zu ADR in Azure SQL finden Sie unter Beschleunigte Datenbankwiederherstellung in Azure SQL.
Transact-SQL-Syntaxkonventionen
Syntax
sp_persistent_version_cleanup
[ [ @dbname = ] N'dbname' ]
[ , [ @scanallpages = ] scanallpages ]
[ , [ @clean_option = ] clean_option ]
[ ; ]
Argumente
[ @dbname = ] N'dbname'
Optional. Der Name der Datenbank, die sauber nach oben. Wenn nicht angegeben, wird der aktuelle Datenbankkontext verwendet. @dbname ist "sysname" mit der Standardeinstellung "NULL
.
[ @scanallpages = ] scanallpages
Optional. @scanallpages ist bit, mit einem Standardwert von 0
. Wenn diese Option auf <
[ @clean_option = ] sauber_option
Optional. Mögliche Optionen bestimmen, ob die PvS-Seite aus zeilenweise zurückgezahlt werden soll. @sauber_option ist int, mit einem Standardwert von 0
. Dieser Verweis ist nicht häufig erforderlich, und der Standardwert 0
wird empfohlen.
Wert | Beschreibung |
---|---|
0 | Standard, keine Option angegeben |
1 | Off-Row-Versionsspeicher ohne Überprüfung einzelner PVS-Seiteninhalte |
2 | Off-Row-Versionsspeicher mit jeder besuchten PVS-Seite |
3 | Nur In-Row-Versionsspeicher |
4 | Nur interne Verwendung |
Rückgabecodewerte
0
(Erfolg) oder 1
(Fehler).
Resultset
Keine.
Berechtigungen
Erfordert die BERECHTIGUNG ALTER DATABASE, die ausgeführt werden soll.
Hinweise
Die sys.sp_persistent_version_cleanup
gespeicherte Prozedur ist synchron, d. h., sie wird erst abgeschlossen, wenn alle Versionsinformationen aus dem aktuellen PVS sauber werden.
In SQL Server 2019 (15.x) wird der PVS-sauber upprozess nur jeweils für eine Datenbank ausgeführt. In Azure SQL-Datenbank und Azure SQL verwaltete Instanz und beginnend mit SQL Server 2022 (16.x) kann der PVS-sauber Upprozess parallel zu mehreren Datenbanken in derselben Instanz ausgeführt werden.
Wenn der PVS-sauber Up-Prozess bereits für die gewünschte Datenbank ausgeführt wird, wird diese gespeicherte Prozedur blockiert und wartet auf den Abschluss, bevor ein weiterer PVS-sauber upprozess gestartet wird. Aktive, lange ausgeführte Transaktionen in jeder Datenbank, in der ADR aktiviert ist, können auch sauber up der PVS blockieren. Sie können die Version sauber er-Aufgabe überwachen, indem Sie mit der folgenden Beispielabfrage nach dem Prozess suchen:
SELECT *
FROM sys.dm_exec_requests
WHERE command LIKE '%PERSISTED_VERSION_CLEANER%';
Begrenzungen
Die Datenbankspiegelung kann nicht für eine Datenbank festgelegt werden, für die ADR aktiviert ist, oder es gibt weiterhin Versionen im permanenten Versionsspeicher (PVS). Wenn ADR deaktiviert ist, fahren Sie sys.sp_persistent_version_cleanup
mit sauber vorherigen Versionen fort, die sich noch im PVS befinden.
Beispiele
Verwenden Sie das folgende Beispielskript, um den PVS-sauber upprozess manuell zwischen Workloads oder während Standard-Fenstern zu aktivieren:
EXEC sys.sp_persistent_version_cleanup [database_name];
Beispiel:
EXEC sys.sp_persistent_version_cleanup [WideWorldImporters];
Oder gehen Sie wie im aktuellen Datenbankkontext vor:
USE [WideWorldImporters];
GO
EXEC sys.sp_persistent_version_cleanup;
Zugehöriger Inhalt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für