KB4099472 - Amélioration de l’algorithme Round Robin de la page PFS en SQL Server 2014, 2016 et 2017

S’applique à
SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2017 Developer on Windows SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptômes

Prenons le scénario suivant :

  • Vous disposez d’une application qui utilise fortement la base de données tempdb ou d’une charge de travail spécifique de la base de données tempdb.
  • Vous effectuez une mise à niveau vers Microsoft SQL Server 2016 ou une version ultérieure et commencez à voir des conflits de pages PFS.
  • Vous suivez les bonnes pratiques de base de données tempdb et ajoutez plusieurs fichiers de données.

Dans ce scénario, les conflits importants de pages PFS se poursuivent et affectent 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, page 2:3:905856 est une SSP dans file_id=3 dans tempdb.

Résolution

Informations sur les mises à jour cumulatives

Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :

Mise à jour cumulative 7 pour SQL Server 2017

Mise à jour cumulative 1 pour SQL Server 2016 SP2

Mise à jour cumulative 9 pour SQL Server 2016 SP1

À propos des mises à jour cumulatives pour SQL Server :

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Dernière mise à jour cumulative pour SQL Server 2017

Dernière mise à jour cumulative pour SQL Server 2016

Ce problème est résolu dans le correctif logiciel décrit dans l’article suivant :

Package de mise à jour du correctif logiciel à la demande 4099490 pour SQL Server 2016 SP1

Ce correctif améliore l’allocation de pages PFS en effectuant des allocations Tourniquets sur plusieurs pages PFS dans le même fichier de données, en plus de l’allocation Tourniquet sur tous les fichiers de données tempdb. Par conséquent, plus il y a de pages de données PFS contenues dans un fichier de données et plus il y a de fichiers de données, meilleure est la distribution de l’allocation.

Remarque Étant donné que les données sont désormais réparties sur les intervalles PFS dans les fichiers de base de données tempdb, les opérations telles que la réduction de base de données deviendront plus gourmandes en ressources. Cependant, il n’est généralement pas recommandé de réduire tempdb au cours du fonctionnement typique.

Informations sur les Service Packs pour SQL Server :

Cette mise à jour est corrigée dans le Service Pack suivant pour SQL Server :

Service Pack 3 pour SQL Server 2014

À propos des Service Packs pour SQL Server :

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. Il est recommandé d’appliquer le dernier Service Pack et la dernière mise à jour cumulative pour 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. Consultez le tableau 1 de l’article suivant pour trouver plus d’informations sur le dernier Service Pack et la dernière mise à jour cumulative.

Comment déterminer la version, l’édition et le niveau de mise à jour de SQL Server et de ses composants

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

Recommandations pour réduire les conflits d’allocation dans SQL Server base de données tempdb