Timeout für die Wiederholung der ADR-Bereinigung (Serverkonfigurationsoption)
Gilt für:SQL Server
Ab SQL Server 2019 (15.x) ist diese Konfigurationseinstellung für die beschleunigte Datenbankwiederherstellung (Accelerated Database Recovery, ADR) erforderlich. Die Bereinigung ist ein asynchroner Prozess, der periodisch reaktiviert wird und nicht benötigte Seitenversionen bereinigt.
Gelegentlich treten bei der Bereinigung Probleme beim Abrufen von Sperren auf Objektebene aufgrund von Konflikten mit der Benutzerworkload auf. Diese Seiten werden in einer separaten Liste nachverfolgt. Mit dem Timeout für die Wiederholung der ADR-Bereinigung (min) wird gesteuert, wie lange die Bereinigung exklusiv versucht, eine Objektsperre abzurufen und die Seitenbereinigung auszuführen, bevor sie abgebrochen wird. Eine Bereinigung mit hundertprozentigem Erfolg abzuschließen, ist entscheidend, um den Zuwachs abgebrochener Transaktionen in der Liste der abgebrochenen Transaktionen unter Kontrolle zu behalten. Kann die separate Liste innerhalb des vorgeschriebenen Timeoutzeitraums nicht bereinigt werden, wird der aktuelle Bereinigungsvorgang abgebrochen und der nächste gestartet.
Version | Standardwert |
---|---|
SQL Server 2019 (15.x) | 120 |
SQL Server 2022 (16.x) und höhere Versionen | 15 |
Bemerkungen
Die Bereinigung ist in SQL Server 2019 (15.x) ein Singlethreadvorgang. Das bedeutet, dass immer nur eine SQL Server-Instanz diesen Vorgang in einer Datenbank ausführen kann. Wenn für die Instanz mehr als eine Benutzerdatenbank mit aktivierter ADR vorhanden ist, legen Sie das Timeout nicht auf einen hohen Wert fest. Dies könnte die Bereinigung für eine Datenbank verzögern, während die Wiederholungsversuche für eine andere Datenbank ausgeführt werden.
Bekanntes Problem
Für SQL Server 2019 (15.x) CU 12 und frühere Versionen ist diese Wert möglicherweise auf 0
festgelegt. Es wird empfohlen, den Wert anhand des Beispiels in diesem Artikel manuell auf 120
zurückzusetzen (die vorgesehene Standardeinstellung).
Beispiele
Das folgende Beispiel legt das Timeout für die Wiederholung der Bereinigung auf den Standardwert fest.
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO
Beispiele
Das folgende Beispiel legt das Timeout für die Wiederholung der Bereinigung auf den Standardwert fest.
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO
Weitere Informationen
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