Configurazione del server: ADR cleaner retry timeout (min)
Si applica a:SQL Server
A partire da SQL Server 2019 (15.x), questa impostazione di configurazione viene usata per ripristino accelerato del database (ADR). Il pulitore è un processo asincrono che si riattiva periodicamente e pulisce le versioni delle pagine che non sono necessarie.
A volte il pulitore potrebbe incontrare problemi nell'acquisizione dei blocchi degli oggetti a causa di conflitti con i carichi di lavoro degli utenti durante la scansione. Il pulitore tiene traccia di tali pagine in un elenco separato.
ADR cleaner retry timeout (min)
controlla la quantità di tempo che il pulitore impiega esclusivamente a tentare nuovamente l'acquisizione del blocco degli oggetti e la pulizia delle pagine prima di abbandonare lo sweep. Il completamento dello sweep con un successo del 100%% è essenziale per contenere l'aumento delle transazioni interrotte nella rispettiva mappa. Se le pagine dell'elenco separato non possono essere pulite nel timeout previsto, lo sweep corrente viene abbandonato e la pulizia viene tentata durante lo sweep successivo.
Versione | Default value |
---|---|
SQL Server 2019 (15.x) | 120 |
SQL Server 2022 (16.x) e versioni successive | 15 |
Osservazioni:
La pulizia è a thread singolo in SQL Server 2019 (15.x). In SQL Server 2022 (16.x), il servizio di pulizia è a thread singolo per impostazione predefinita, ma può essere reso multithread configurando la configurazione del server ADR Cleaner Thread Count
.
Se il pulitore è a thread singolo, può funzionare solo su un database alla volta. Se l'istanza ha più di un database con ADR abilitato, non aumentare il timeout notevolmente. In questo modo è possibile ritardare la pulizia in un database durante la ripetizione dei tentativi in un altro database.
Problema noto
Per SQL Server 2019 (15.x) CU 12 e versioni precedenti, questo valore può essere impostato su 0
. È consigliabile reimpostare manualmente il valore su 120
, ovvero l'impostazione predefinita progettata, usando l'esempio in questo articolo.
Esempi
Nell’esempio seguente viene impostato il timeout dei tentativi di pulizia al valore predefinito.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO
Esempi
Nell’esempio seguente viene impostato il timeout dei tentativi di pulizia al valore predefinito.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO