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 è necessaria per il ripristino accelerato del database (ADR). La pulizia è un processo asincrono che viene riattivato periodicamente e pulisce le versioni di pagina non necessarie.

Occasionalmente, il processo di pulizia riscontra problemi durante l'acquisizione dei blocchi a livello di oggetto a causa di conflitti con il carico di lavoro dell'utente durante la pulizia. Il processo tiene traccia di tali pagine in un elenco separato. ADR cleaner retry timeout (min) controlla la quantità di tempo dedicata dal processo di pulizia esclusivamente a ritentare l'acquisizione del blocco sugli oggetti e la pulizia della pagina prima di abbandonare l'operazione. Il completamento di una pulizia con esito positivo al 100% è essenziale per la crescita delle transazioni interrotte nella mappa delle transazioni interrotte. Se non è possibile pulire l'elenco separato entro il timeout previsto, l'operazione di pulizia corrente verrà abbandonata e verrà avviata l'operazione di pulizia successiva.

Versione Valore predefinito
SQL Server 2019 (15.x) 120
SQL Server 2022 (16.x) e versioni successive 15

Osservazioni:

Il processo di pulizia è a thread singolo in SQL Server 2019 (15.x), quindi un'istanza di SQL Server può operare su un database alla volta. Se l'istanza ha più di un database utente con ADR abilitato, non aumentare il timeout a un valore elevato. 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