Configurazione del server: ADR Preallocation Factor
Si applica a: SQL Server
A partire da SQL Server 2019 (15.x), questa impostazione di configurazione è necessaria per il ripristino accelerato del database.
Il ripristino accelerato del database (ADR, Accelerated Database Recovery) mantiene le versioni dei dati a scopo di ripristino. Queste versioni vengono generate come parte di varie operazioni DML (Data Manipulation Language). Le versioni vengono archiviate in una tabella interna denominata archivio versioni permanente.
Osservazioni:
Le prestazioni possono peggiorare se le pagine vengono allocate per il PV come parte delle operazioni DML dell'utente in primo piano. Un thread in background prealloca le pagine e le mantiene prontamente disponibili per le transazioni DML. Le prestazioni sono migliori quando il thread in background prealloca un numero sufficiente di pagine e la percentuale di allocazioni alla tabella di archivio versioni permanente è prossima a 0. Il log degli errori contiene voci con il tag PreallocatePVS
se la percentuale è elevata e influisce sulle prestazioni.
Il numero di pagine preallocate dal thread in background è basato su diverse euristiche del carico di lavoro, ma in gran parte l'allocazione delle pagine avviene in blocchi di 512 pagine. Il fattore di preallocazione ADR è un multiplo del blocco. Per impostazione predefinita, il fattore è 4
, il che significa che prealloca 2048 pagine contemporaneamente quando necessario.
Mentre il thread in background prende in considerazione i modelli di carico di lavoro, questo fattore può essere aumentato se necessario per migliorare le prestazioni.
Attenzione
Se la preallocazione dell'archivio versioni permanente viene aumentata troppo, subentrerà una contesa con altre allocazioni nel sistema e potrebbe effettivamente ridurre le prestazioni complessive. Prima di modificare questa impostazione, testare le prestazioni complessive del sistema.
Problema noto
Per SQL Server 2019 (15.x) CU 12 e versioni precedenti, questo valore può essere impostato su 0
. È consigliabile reimpostare il valore su 4
, ovvero l'impostazione predefinita progettata, usando l'esempio in questo articolo.
Esempi
Nell'esempio seguente il fattore di preallocazione viene impostato su 4
.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO