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 l'archivio versioni permanenti (PVS) come parte delle operazioni DML utente in primo piano. Un thread in background prealloca le pagine e le mantiene prontamente disponibili per le transazioni DML. Le prestazioni sono ottimali quando il thread in background prealloca un numero sufficiente di pagine affinché la percentuale di allocazioni PVS in primo piano sia vicina a 0. Il log degli errori contiene voci con il tag PreallocatePVS
se la percentuale è sufficientemente elevata da influire sulle prestazioni.
Il numero di pagine preallocate del thread in background si basa su varie euristiche del carico di lavoro, ma alloca in gran parte le pagine 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 il fattore di preallocazione PVS è aumentato troppo, può confrontarsi 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