Serverkonfiguration: ADR Preallocation Factor
Gilt für: SQL Server
Ab SQL Server 2019 (15.x) ist diese Konfigurationseinstellung für die beschleunigte Datenbankwiederherstellung.
Die beschleunigte Datenbankwiederherstellung (Accelerated Database Recovery, ADR) verwaltet Datenversionen zu Wiederherstellungszwecken. Diese Versionen werden als Teil verschiedener DML-Vorgänge (Data Manipulation Language = Datenbearbeitungssprache) generiert. Versionen werden in einer internen Tabelle gespeichert, die als „persistenter Versionsspeicher“ (PVS) bezeichnet wird.
Bemerkungen
Die Leistung kann beeinträchtigt werden, wenn im Rahmen von DML-Benutzervorgängen im Vordergrund Seiten für den PVS zugeordnet werden. Ein Hintergrundthread ordnet Seiten vorab zu und hält sie für DML-Transaktionen verfügbar. Die bestmögliche Leistung wird erzielt, wenn der Hintergrundthread vorab genügend Seiten zuordnet und der prozentuale Anteil der PVS-Zuordnungen im Vordergrund nahe 0 ist. Das Fehlerprotokoll enthält Einträge mit dem Tag PreallocatePVS
, wenn der Prozentsatz zu hoch ist und die Leistung beeinträchtigt.
Die Anzahl der Seiten, die der Hintergrundthread vorab zuordnet, basiert auf verschiedenen heuristischen Berechnungen für Workloads. In der Regel erfolgt eine Zuordnung in Blöcken von 512 Seiten gleichzeitig. Die Option „ADR Preallocation Factor“ ist ein Vielfaches eines solchen Blocks. Standardmäßig ist der Faktor 4
, was bedeutet, dass erforderlichenfalls 2048 Seiten gleichzeitig zugeordnet werden.
Während der Hintergrundthread Workloadmuster berücksichtigt, kann dieser Faktor bei Bedarf erhöht werden, um die Leistung zu verbessern.
Achtung
Wenn es zu viele PVS-Vorabzuordnungen gibt, konkurrieren diese mit anderen Zuordnungen im System. Dies kann zu Leistungseinbußen führen. Bevor Sie diese Einstellung ändern, sollten Sie die Gesamtleistung des Systems testen.
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 auf 4
zurückzusetzen (die vorgesehene Standardeinstellung).
Beispiele
Das folgende Beispiel legt den Faktor für die Vorabzuordnung auf 4
fest.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO