Partage via


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 la récupération de base de données accélérée (ADR). Le nettoyeur est le processus asynchrone qui sort de veille régulièrement et nettoie les versions des lignes qui ne sont pas nécessaires.

Parfois, le nettoyeur peut rencontrer des problèmes lors de l’acquisition de verrous IX au niveau de l’objet ou de la partition 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 IX 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’attente prescrit, le balayage actuel est abandonné et le nettoyage est tenté pendant le 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’attente à 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 d’attente de nouvelle tentative de nettoyage sur la valeur par défaut.

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 d’attente de nouvelle tentative de nettoyage sur la valeur par défaut.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO