Symptômes
Prenons l’exemple du scénario suivant :
-
Vous disposez d’une application qui utilise fortement la base de données tempdb ou vous avez une charge de travail de base de données tempdb spécifique.
-
Vous effectuez une mise à niveau vers Microsoft SQL Server 2016 ou une version ultérieure et commencez à afficher le contenu des pages PFS.
-
Suivez les meilleures pratiques en matière de base de données tempdb et ajoutez plusieurs fichiers de données.
Dans ce scénario, le contenu de la page PFS forte continue et affecte les performances du système.
Remarque si la carte de la page est facilement divisée par 8088, il s’agit d’une page PFS. Par exemple, la page 2:3:905856 est une PFS dans file_id = 3 dans tempdb.
Résolution
Informations de mise à jour cumulative
Ce problème a été résolu dans les mises à jour cumulatives de SQL Server suivantes :
Mise à jour cumulative 7 pour SQL Server 2017
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Ce problème a été résolu dans le correctif décrit dans l’article suivant :
40994902016- XXXXXXX XXXXXXX XXXXXXX XX xxxxxxx XX xxxxxxx XX xxxxxxx
Ce correctif permet d’améliorer l’allocation de la page PFS en effectuant des allocations circulaires sur plusieurs pages PFS dans le même fichier de données, en plus de l’attribution de tourniquet sur tous les fichiers de données tempdb. C’est pourquoi les pages de données PFS qui sont contenues dans un fichier de données ainsi que les fichiers de données supplémentaires sont de meilleure qualité de répartition.
Remarque Étant donné que les données sont désormais réparties entre les intervalles du PFS dans les fichiers de la base de données tempdb, les opérations telles que la réduction de la base de données deviennent plus gourmandes en ressources. Néanmoins, il n’est généralement pas conseillé de réduire tempdb pendant la durée de fonctionnement type.
Informations sur le Service Pack pour SQL Server :
Cette mise à jour est corrigée dans le Service Pack SQL Server suivant :
Les Service Packs sont cumulatifs. Chaque nouvelle version contient tous les correctifs fournis dans les Service Packs précédents et tous les nouveaux correctifs. Nous vous recommandons d’appliquer le dernier Service Pack et la dernière mise à jour cumulative de ce Service Pack. Il n'est donc pas nécessaire d'installer la version antérieure d'un Service Pack avant d'installer la dernière version disponible. Utilisez le tableau 1 de l’article suivant pour trouver plus d’informations sur le dernier Service Pack et la dernière mise à jour cumulative.
Déterminer le niveau de version, d’édition et de mise à jour de SQL Server et ses composants
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Références
Recommandations pour réduire les conflits d’allocation dans la base de données SQL Server tempdb