DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 2769594 - Dernière mise à jour: jeudi 24 janvier 2013 - Version: 3.0

 
 

Sommaire

Symptômes

Microsoft SQL Server 2012 peut rencontrer des erreurs d'insuffisance de mémoire en raison d'une fuite de mémoire interne. Dans ce cas, la fuite de mémoire est consommée par le clerk de mémoire MEMORYCLERK_SQLLOGPOOL qui est utilisé en interne pour les activités du journal des transactions. Par exemple, le clerk de mémoire_SQLLOGPOOL MEMORYCLERKest utilisé en interne pour les activités du journal des transactions suivantes :
  • AlwaysOn capturant à la modification des activités sur les répliques primaires
  • AlwaysOn rétablir les activités de gestionnaire sur les réplicas de disponibilité secondaire

Ce problème peut encore être aggravé par un volume élevé de transactions en cours de synchronisation sur une instance de SQL Server qui héberge de nombreuses bases de données de disponibilité. Lorsque ce problème se produit, un message d'erreur semblable au suivant est enregistré dans le journal des erreurs SQL :
Impossible d'allouer des pages : FAIL_PAGE_ALLOCATION 8
Erreur : 701, gravité : 17, état : 107.
Il est mémoire système insuffisante dans la liste des ressources internes pour exécuter cette requête.
Erreur : 701, gravité : 17, état : 123.
Il est mémoire système insuffisante dans la liste des ressources « PoolName » pour exécuter cette requête.
Erreur : 701, gravité : 17, état : 107. (Params:). L'erreur est imprimée en mode laconique, car l'erreur s'est produite lors de la mise en forme. Traçage, ETW, notifications, etc. sont ignorés.
Erreur : 17312, gravité : 16, état: 1.
SQL Server se termine une tâche système ou d'arrière-plan HADR tâche en raison d'erreurs lors du démarrage de la tâche (état d'installation 1).
AppDomain 3181 (<appdomain>) est marqué pour être déchargé en raison d'une pression de mémoire.
Déchargement de AppDomain 3181 (<appdomain>).
Erreur : 9602, gravité : 16, état: 1.
Échec du démarrage d'une tâche système avec le code d'erreur 28709, état 19.
Erreur : 17300, gravité : 16, état: 1.
SQL Server n'a pas pu exécuter une nouvelle tâche système, soit parce qu'il est insuffisant mémoire ou le nombre de sessions configurées dépasse le maximum autorisé dans le serveur. Vérifiez que le serveur possède une mémoire suffisante. Utilisez sp_configure avec l'option « connexions utilisateur » pour vérifier le nombre maximal de connexions utilisateur autorisé. Utilisez sys.dm_exec_sessions pour vérifier le nombre actuel de sessions, y compris les processus utilisateur.
Erreur : 17312, gravité : 16, état: 1.
SQL Server se termine une tâche système ou d'arrière-plan HADR tâche en raison d'erreurs lors du démarrage de la tâche (état d'installation 1).
Erreur : 18054, gravité : 16, état: 1.</appdomain></appdomain>
Lorsque l'instance de SQL Server héberge une base de données qui est impliqué dans un groupe de disponibilité AlwaysOn de SQL Server, la synchronisation des données entre des réplicas peut échouer. Pour contourner le problème, arrêtez et redémarrez SQL Server.

Lorsque les conditions d'insuffisance de mémoire se produit, le groupe de disponibilité peut basculer vers le réplica de disponibilité secondaire, et l'ancien réplica principal peut continuer à réaliser des erreurs jusqu'à ce que le service est arrêté et redémarré. Le groupe de disponibilité peut aller dans la résolution ou un état inconnu et toutes les bases de données dans ce groupe de disponibilité peuvent être inaccessibles, jusqu'au redémarrage du service SQL pour libérer la mémoire de pool de journal.

Vous pouvez exécuter l'instruction DBCC MEMORYSTATUS lors de l'échec commence à remarquer dans la sortie de nombreux gigaoctets de mémoire consommée par le clerk de mémoire MEMORYCLERK_SQLLOGPOOL . Voici un exemple de sortie :
KB MEMORYCLERK_SQLLOGPOOL (nœud 0)
---------------------------------------- -----------
Mémoire virtuelle réservée 0
Mémoire virtuelle validée 0
Pages verrouillées alloué 0
SM réservée 0
SM commis 0
Pages allouées 823544
Vous pouvez également voir le nombre de pages de mémoire du problème en exécutant les requêtes DMV suivantes :
SELECT * FROM sys.dm_os_memory_clerks WHERE type='MEMORYCLERK_SQLLOGPOOL'
SELECT type, name, pages_in_bytes/ 1024 AS PMO_KB FROM sys.dm_os_memory_objects WHERE type like 'MEMOBJ_LOGPOOL%'
Une autre cause possible est que SQL Server requêtes pourraient attendre waittype RESOURCE_SEMAPHORE lors de la mémoire tampon ne peut pas être immédiatement obtenue en raison du nombre élevé des consommateurs de journal de Pool.

Ce correctif résout les problèmes suivants :
  • Une fuite de mémoire a été corrigée dans le mécanisme de lecture anticipée interne qui est utilisé pour localiser les pools de journal de transactions qui sont utilisés par AlwaysOn et autres activités intensive du journal des transactions dans SQL Server 2012.
  • Lors de l'insuffisance de mémoire est disponible, SQL Server libère la mémoire en pool interne journal proactivement à réparer les échecs de la sortie de la mémoire de plus en douceur.

Résolution

Informations de mise à jour cumulative

Mise à jour cumulative 2 pour SQL Server 2012 SP1

Le correctif de ce problème a été tout d'abord publié de mise à jour Cumulative 2. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulatives pour SQL Server 2012 SP1, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2790947  (http://support.microsoft.com/kb/2790947/ ) Package de mise à jour cumulative 2 pour SQL Server 2012 Service Pack 1
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec le précédent Service Pack 1 SQL Server 2012 version du correctif. Il est recommandé que vous teniez compte de l'application la plus récente version du correctif qui comprendra 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  (http://support.microsoft.com/kb/2772858/ ) Le 2012 de SQL Server versions publiées après la publication du Service Pack 1 SQL Server 2012

Mise à jour cumulative 5 pour SQL Server 2012

Le correctif de ce problème a été tout d'abord publié dans les 5 mise à jour Cumulative. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulatives pour SQL Server 2012, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2777772  (http://support.microsoft.com/kb/2777772/ ) Package de mise à jour cumulative 5 pour SQL Server 2012
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente 2012 de SQL Server version du correctif. Il est recommandé que vous teniez compte de l'application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2692828  (http://support.microsoft.com/kb/2692828/ ) Le 2012 de SQL Server versions publiées après la publication de SQL Server 2012

Informations sur le correctif

Un correctif est disponible auprès de Microsoft. Toutefois, ce correctif est conçu uniquement pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes rencontrant ce problème spécifique.

Si le correctif est disponible pour téléchargement, il existe une section « téléchargement de correctif logiciel disponible » en haut de cet article de la Base de connaissances. Si cette section n'apparaît pas, soumettez une demande à Microsoft Services de Support technique pour obtenir le correctif.

Remarque Si des problèmes supplémentaires surviennent ou bien si une procédures de dépannage est requise, il est probable que vous ayez à effectuer une demande de service en parallèle. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes qui ne relèvent pas de ce correctif spécifique. Pour une liste complète des numéros de téléphone service clientèle de Microsoft ou pour créer une demande de service distincte, accédez au site Web Microsoft suivant :
http://support.Microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'un correctif logiciel n'est pas disponible pour cette langue.

Redémarrage de l'ordinateur

Vous n'êtes pas obligé de redémarrer l'ordinateur après avoir appliqué ce correctif.

Conditions préalables

Pour appliquer ce correctif, vous devez disposer de SQL Server 2012 est installé.

Informations sur les fichiers

La version internationale de ce correctif possède les attributs de fichier (ou attributs de fichier version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont classées par rapport temps universel coordonné (UTC). Les informations du fichier sont converties en heure locale. Pour connaître le décalage entre l'UTC et l'heure locale, utilisez la Fuseau horaire onglet dans la Date et heure élément dans le panneau de configuration.
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Sqlmin.dll2011.110.2387.032,460,27219-Oct-201205 : 25x 64
Sqlservr.exe2011.110.2387.0190,94419-Oct-201205 : 01x 64
Sqlmin.dll2011.110.2387.026,515,93619-Oct-201205 : 22x 86
Sqlservr.exe2011.110.2387.0160,22419-Oct-201205 : 17x 86

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
Mots-clés : 
kbtshoot kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2769594 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 2769594  (http://support.microsoft.com/kb/2769594/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store