Sdílet prostřednictvím


Konfigurace serveru: Faktor předalokace ADR

Platí na: SQL Server 2019 (15.x) a novější verze Azure SQL Managed Instance

Počínaje SQL Serverem 2019 (15.x) a ve službě Azure SQL Managed Instance se toto nastavení konfigurace používá zrychleným obnovením databáze.

Zrychlené obnovení databáze (ADR) používá verze řádků pro účely správy transakcí a obnovení databáze. Tyto verze se generují jako součást různých operací jazyka DML (Data Manipulat Language). Verze se ukládají buď v řádku, nebo mimo řádek v interní tabulce 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ředlokuje stránky a udržuje je snadno dostupné pro vložení do PVS. 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.

Počet stránek, které vlákno na pozadí předem alokuje, vychází z různých heuristik pracovní zátěže. Vlákno na pozadí obvykle přiděluje bloky o velikosti 512 stránek. Faktor předalokace ADR je násobkem bloku. Ve výchozím nastavení je faktor 4, což znamená, že 2048 stránek je přiděleno najednou v případě potřeby.

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. tx_version_optimized_insert_stats Rozšířená událost se pravidelně aktivuje, když dojde k přidělení místa v PVS a poskytuje statistiku přidělení místa. Pokud je hodnota v foreground_allocation_percent poli výrazně vyšší než nula, zvažte zvýšení ADR Preallocation Factor nastavení.

Výstraha

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í získejte směrný plán výkonu systému pro účely sledování a porovnání.

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