Condividi tramite


Configurazione del server: ADR Preallocation Factor

Si applica a: SQL Server 2019 (15.x) e versioni successive di Istanza gestita di SQL di Azure

A partire da SQL Server 2019 (15.x) e in Istanza gestita di SQL di Azure, questa impostazione di configurazione viene usata dal ripristino accelerato del database.

Il ripristino accelerato del database usa versioni di riga per la gestione delle transazioni e il ripristino del database. Queste versioni vengono generate come parte di varie operazioni DML (Data Manipulation Language). Le versioni vengono archiviate in riga o al di fuori riga in una tabella interna denominata archivio versioni permanenti (PVS).

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 facilmente disponibili per gli inserimenti in PVS. 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 numero di pagine preallocate del thread in background si basa su varie euristiche del carico di lavoro. In genere, il thread in background alloca blocchi di 512 pagine. Il fattore di preallocazione ADR è un multiplo del blocco. Per impostazione predefinita, il fattore è 4, il che significa che 2048 pagine vengono preallocate 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. L'evento tx_version_optimized_insert_stats esteso viene generato periodicamente quando si verificano allocazioni di spazio in PVS e fornisce statistiche sull'allocazione dello spazio. Se il valore nel foreground_allocation_percent campo è significativamente superiore a zero, prendere in considerazione l'aumento dell'impostazione ADR Preallocation Factor .

Avvertimento

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, ottenere una linea di base delle prestazioni del sistema a scopo di rilevamento e confronto.

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