Sdílet prostřednictvím


Konfigurace serveru: Faktor předalokace ADR

platí pro:SQL Server

Počínaje SQL Serverem 2019 (15.x) se toto nastavení konfigurace vyžaduje pro akcelerované obnovení databáze.

Zrychlené obnovení databáze (ADR) udržuje verze dat pro účely obnovení. Tyto verze se generují jako součást různých operací jazyka DML (Data Manipulat Language). Verze se ukládají do interní tabulky označované jako trvalé úložiště verzí (PVS).

Poznámky

Výkon se může snížit, pokud jsou stránky přidělovány do trvalého úložiště verzí (PVS) jako součást předních DML operací uživatele. Vlákno na pozadí předem alokuje stránky a udržuje je snadno dostupné pro transakce DML. Výkon je optimální, když vlákno na pozadí předem přidělí dostatek stránek, aby procento přidělení PVS v popředí bylo blízko 0. Protokol chyb obsahuje položky se značkou PreallocatePVS, pokud je procento dostatečně vysoké, aby ovlivnilo výkon.

Počet stránek, které vlákno na pozadí předalokuje, je založen na různých heuristikách zátěže, ale do značné míry přiděluje stránky v blocích po 512 stránkách. Faktor předalokace ADR je násobkem bloku. Ve výchozím nastavení je faktor 4, což znamená, že v případě potřeby předem přiděluje 2048 stránek najednou.

I když vlákno na pozadí bere v úvahu vzory úloh, tento faktor lze v případě potřeby zvýšit, aby se zlepšil výkon.

Opatrnost

Pokud je faktor preallokace PVS příliš velký, může se potýkat s dalšími přiděleními v systému a může skutečně snížit celkový výkon. Před úpravou tohoto nastavení otestujte celkový výkon systému.

Známý problém

Pro SQL Server 2019 (15.x) CU 12 a předchozí verze může být tato hodnota nastavena na 0. Doporučujeme resetovat hodnotu na 4, což je navržené výchozí nastavení pomocí příkladu v tomto článku.

Příklady

Následující příklad nastaví faktor předalokace na 4.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO