Freigeben über


Serverkonfiguration: ADR Preallocation Factor

Gilt für:SQL Server

Ab SQL Server 2019 (15.x) wird diese Konfigurationseinstellung von der beschleunigten Datenbankwiederherstellungverwendet.

Die beschleunigte Datenbankwiederherstellung (ADR) verwendet Zeilenversionen für Transaktionsverwaltungs- und Datenbankwiederherstellungszwecke. 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 Seiten für den persistenten Versionsspeicher (Persistent Version Store, PVS) als Teil der DML-Benutzervorgänge im Vordergrund zugewiesen werden. Ein Hintergrundthread ordnet Seiten vorab zu und hält sie für DML-Transaktionen verfügbar. Die optimale 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 hoch genug ist, um die Leistung zu beeinträchtigen.

Die Anzahl der Seiten, die der Hintergrundthread voralloziert, basiert auf verschiedenen Arbeitslastheuristiken. Der Hintergrundthread weist häufig Blöcke von 512 Seiten zu. Die Option „ADR Preallocation Factor“ ist ein Vielfaches eines solchen Blocks. Bei Bedarf wird der Faktor standardmäßig auf 4gesetzt, was bedeutet, dass 2048 Seiten gleichzeitig vorgeplant werden.

Während der Hintergrundthread Workloadmuster berücksichtigt, kann dieser Faktor bei Bedarf erhöht werden, um die Leistung zu verbessern.

Achtung

Wenn der Faktor für vorzeitige PVS-Zuordnungen zu stark erhöht wird, kann ein Konflikt mit anderen Zuordnungen im System entstehen, wodurch möglicherweise die Gesamtleistung tatsächlich reduziert wird. Bevor Sie diese Einstellung ändern, rufen Sie einen Basisplan der Systemleistung für Nachverfolgungs- und Vergleichszwecke ab.

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