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