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 utilisé par 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) utilise des versions de lignes à des fins de gestion des transactions et de récupération de base de données. 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 différentes heuristiques de charge de travail. Généralement, le thread d’arrière-plan alloue des 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 que 2048 pages sont préallouées à la fois lorsque 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 préallocation du PVS est trop élevé, il peut se retrouver 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, obtenez une ligne de base des performances du système à des fins de suivi et de comparaison.
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