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 lorsque des pages sont allouées pour le magasin de versions persistantes (PVS) lors des opérations DML utilisateur au 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 pour que le pourcentage d’allocations PVS de premier plan soit proche de 0. Le journal des erreurs contient des entrées avec la balise PreallocatePVS si le pourcentage est suffisamment élevé pour affecter les performances.

Le nombre de pages que le thread d’arrière-plan préalloue est basé sur diverses heuristiques de charge de travail, mais alloue en grande partie des pages en blocs 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 le facteur de préallocation PVS est trop élevé, il peut faire face à d’autres allocations dans le système et peut réellement 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