Serverkonfiguration: Timeout für die Wiederholung der ADR-Bereinigung (min)
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. ADR cleaner retry timeout (min)
steuert, 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.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC 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.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO