Symptômes
Supposons que vous activez une fonctionnalité telle que les groupes de disponibilité AlwaysOn qui utilise le pool de journaux dans une instance de Microsoft SQL Server 2012 ou de Microsoft SQL Server 2014. Dans ce cas, le compteur d’attentes d’écriture du journal pour la mémoire tampon du journal sur le SQL Server instance a une valeur élevée. Vous remarquerez également des valeurs élevées pour les types d’attente CMEMTHREAD et WRITELOG dans les vues de gestion dynamique (DMV). De plus, des fichiers de vidage minimal sont générés.
Remarque Le pool de journaux est un cache en mémoire du journal des transactions. Ce cache est utilisé, entre autres : pour optimiser la lecture du journal pendant la restauration et les opérations de restauration dans la réplication des transactions, ainsi que pour la fonctionnalité Groupes de disponibilité AlwaysOn.
Cause
Ce problème se produit, car le pool de journaux utilise un pointeur global vers un objet mémoire (PMO) pour toutes les bases de données.
Lorsque de nombreux threads tentent d’écrire des journaux à l’aide du pool de journaux, tous les threads doivent attendre que le pointeur vers un objet mémoire entraîne la contention décrite dans la section Symptômes.
Résolution
SQL Server 2014 Service Pack 1
Par défaut, le Service Pack 1 pour SQL Server 2014 inclut ce correctif et vous n’avez pas besoin d’ajouter d’indicateurs de trace pour l’activer.
SQL Server 2014
Ce problème a été résolu dans la version RTM de SQL Server 2014, mais vous devez encore activer l’indicateur de trace T9024 et/ou 8048 pour activer le correctif. Une fois cet indicateur de trace activé, le SQL Server instance partitionne le pointeur sur un objet mémoire au niveau du nœud.
Notes
- Si les problèmes persistent même après l’activation de l’indicateur de trace T9024, vous pouvez également activer l’indicateur de trace T8048 qui partitionne le pointeur vers l’objet mémoire au niveau du processeur.
- SQL Server 2014 Service Pack 1 (SP1) inclut ce correctif et vous n’avez pas besoin d’activer l’indicateur de trace.
SQL Server 2012
Remarque : SQL Server 2012 Service Pack 3 (SP3) inclut ce correctif et vous n’avez pas besoin d’activer l’indicateur de trace.
Informations sur les mises à jour cumulatives
Mise à jour cumulative 3 pour SQL Server 2012 SP1
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 3. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2012 SP1, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
2812412 Package de mise à jour cumulative 3 pour SQL Server 2012 Service Pack 1Remarque : les builds étant cumulatives, chaque nouvelle publication contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012 SP1. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2772858 Builds SQL Server 2012 publiées après SQL Server 2012 Service Pack 1 Remarque Après avoir appliqué le correctif, vous devez activer l’indicateur de trace T9024 pour activer le correctif. Une fois cet indicateur de trace activé, le SQL Server instance partitionne le pointeur sur un objet mémoire au niveau du nœud.
Remarque Si les problèmes persistent même après l’activation de l’indicateur de trace T9024, vous pouvez également activer l’indicateur de trace T8048 qui partitionne le pointeur vers l’objet mémoire au niveau du processeur.
Informations sur le correctif logiciel
Un correctif logiciel pris en charge est disponible auprès de Microsoft. Toutefois, il est conçu uniquement pour corriger le problème décrit dans cet article. N’appliquez ce correctif qu’aux systèmes sur lesquels vous rencontrez ce problème.
Si le correctif logiciel est disponible en téléchargement, une section « Téléchargement de correctif logiciel disponible » figure en haut du présent article de la Base de connaissances. Si cette section est absente, demandez le correctif logiciel auprès du Support technique et Service clientèle Microsoft.
Remarque Si des problèmes supplémentaires surviennent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être créer une demande de service distincte. Les coûts habituels du support s'appliqueront aux autres questions et problèmes du support non directement liés au correctif logiciel en question. Pour obtenir la liste complète des numéros de téléphone des services d’assistance technique Microsoft ou pour créer une demande de service distincte, reportez-vous au site web de Microsoft à l’adresse suivante :
/contactus/ ?ws=support Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif logiciel est disponible. Si votre langue n'est pas répertoriée, cela signifie qu'aucun correctif logiciel n'est disponible pour cette langue.
Conditions préalables pour SQL Server 2012
Pour appliquer ce correctif logiciel, vous devez avoir installé SQL Server 2012 SP1 sur l’ordinateur.
Nécessité de redémarrer
Il n’est pas obligatoire de redémarrer votre ordinateur après avoir appliqué ce correctif logiciel. SQL Server doit être redémarré avec l’indicateur de trace T9024. Pour plus d’informations sur la configuration de SQL Server à l’aide d’un indicateur de suivi de démarrage, voir Options de démarrage du service de moteur de base de données.
Informations de fichier
La version de correctif logiciel global de celui-ci possède les attributs de fichier répertoriés dans le tableau suivant ou ceux d’une version ultérieure. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données sont converties en heure locale. Pour connaître le décalage entre l’heure UTC et l’heure locale, utilisez l’onglet Fuseau horaire dans l’élément Date et heure du Panneau de configuration.