Configuration du serveur : Délai d’attente de nouvelle tentative de nettoyage d’ADR (min)
S'applique à :SQL Server
À compter de SQL Server 2019 (15.x), ce paramètre de configuration est utilisé pour récupération de base de données accélérée (ADR). Le nettoyeur est un processus asynchrone qui se réveille régulièrement et nettoie les versions de page qui ne sont pas nécessaires.
Parfois, le nettoyeur peut rencontrer des problèmes lors de l’acquisition de verrous au niveau de l’objet en raison de conflits avec les charges de travail utilisateur pendant son balayage. Le nettoyeur effectue le suivi de ces pages dans une liste distincte. ADR cleaner retry timeout (min)
contrôle la durée pendant laquelle le processus de nettoyage passe exclusivement à réessayer d'acquérir le verrouillage des objets et le nettoyage de pages avant d’abandonner l'opération de balayage. L’achèvement du balayage avec 100% réussite est essentiel pour maintenir la croissance des transactions abandonnées dans la carte des transactions abandonnées. Si les pages de la liste distincte ne peuvent pas être nettoyées dans le délai d’expiration prescrit, le balayage actuel est abandonné et le nettoyage est tenté lors du balayage suivant.
Version | Valeur par défaut |
---|---|
SQL Server 2019 (15.x) | 120 |
2022 - SQL Server 16 (16.x) et versions ultérieures | 15 |
Notes
Le nettoyeur est monotâche dans SQL Server 2019 (15.x). Dans SQL Server 2022 (16.x), le nettoyeur est monofilaire par défaut, mais il peut être rendu multifilaire en configurant le paramètre du serveur ADR Cleaner Thread Count
.
Si le nettoyeur est monothread, il ne peut fonctionner que sur une base de données à la fois. Si l’instance a plusieurs bases de données avec ADR activée, n’augmentez pas le délai d’expiration à une valeur importante. Cela pourrait retarder le nettoyage sur une base de données pendant la nouvelle tentative sur une autre base de données.
Problème connu
Pour SQL Server 2019 (15.x) CU 12 et versions antérieures, cette valeur peut être définie sur 0
. Nous vous recommandons de réinitialiser manuellement la valeur à 120
, qui est la valeur par défaut désignée, en suivant l’exemple de cet article.
Exemples
L’exemple suivant définit le délai de nouvelle tentative de nettoyage.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO
Exemples
L’exemple suivant définit le délai de nouvelle tentative de nettoyage.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO