Partage via


Configuration du serveur : facteur de préallocation ADR

S’applique à : SQL Server

À compter de SQL Server 2019 (15.x), ce paramètre de configuration est requis pour la récupération de base de données accélérée.

La récupération de base de données accélérée (ADR, Accelerated Database Recovery) gère les versions de données à des fins de récupération. Ces versions sont générées dans le cadre de diverses opérations DML (Data Manipulation Language). Les versions sont stockées dans une table interne appelée banque des versions persistante (PVS, Persistent Version Store).

Notes

Les performances peuvent se dégrader si les pages sont allouées pour la table PVS dans le cadre des opérations DML d’utilisateur de premier plan. Un thread d’arrière-plan préalloue les pages et les maintient à disposition immédiate pour les transactions DML. Les performances sont optimales lorsque le thread d’arrière-plan préalloue suffisamment de pages et que le pourcentage d’allocations de la PVS de premier plan est proche de 0. Le journal des erreurs contient des entiers associés à la balise PreallocatePVS si le pourcentage devient élevé et affecte les performances.

Le nombre de pages que le thread d’arrière-plan préalloue est basé sur différentes heuristiques de charge de travail. Celui-ci alloue le plus souvent les pages par paquet de 512 pages. Le facteur de préallocation de l’ADR est un multiple du segment. Par défaut, le facteur est 4, ce qui signifie qu’il préalloue 2048 pages à la fois si nécessaire.

Si le thread d’arrière-plan tient compte des modèles de charge de travail, ce facteur peut être augmenté si nécessaire pour améliorer les performances.

Attention

Si la préallocation de la PVS est trop élevée, elle se retrouvera en compétition avec d’autres allocations dans le système et pourrait en réalité réduire les performances globales. Avant de modifier ce paramètre, testez les performances globales du système.

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 la valeur à 4, qui est la valeur par défaut désignée, en suivant l’exemple de cet article.

Exemples

L’exemple suivant définit le facteur de préallocation sur 4.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO