CORRECTIF : Vous recevez des messages d'erreur de mémoire insuffisante lorsque vous utilisez la réplication de fusion avec la synchronisation Web dans SQL Server 2005 ou SQL Server 2008

Traductions disponibles Traductions disponibles
Numéro d'article: 974660 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Vous utilisez la réplication de fusion SQL Server 2005 ou 2008 réplication de fusion SQL Server avec une synchronisation Web en fonction d'abonné. Une fuite de mémoire se produit après les synchronisations répétées et que vous receviez "out" erreurs mémoire après une période donnée. Cela devient perceptible lorsque le processus ordinateur hôte n'est pas redémarré pendant une longue période, comme l'agent de fusion (Replmerg.exe) est utilisé avec l'option-commutateur continu ou lorsque le paramètre continu est spécifié dans le profil de l'agent est appliquée à l'agent. Ce problème peut également affecter une application de RMO ou service que vous avez développé qui s'exécute de synchronisation dans une boucle lorsque l'application s'exécute pendant plusieurs jours sans quitter.

Cause

Plusieurs objets internes sont l'objet de fuites lors de chaque synchronisation.

Résolution

SQL Server 2005 Service Pack 3

Le correctif de ce problème a été publié tout d'abord en mise à jour cumulative 6 pour SQL Server 2005 Service Pack 3. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
974648Package de mise à jour cumulative 6 pour SQL Server 2005 Service Pack 3
Remarque Les versions étant cumulatifs, chaque nouvelle version de correctif contient l'intégralité des correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2005 version du correctif. Microsoft vous recommande d'envisager l'application de la dernière version de 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 :
960598Versions de SQL Server 2005 publiées après que SQL Server 2005 Service Pack 3 a été publiée.
Microsoft SQL Server 2005 les correctifs sont créés pour les service packs pour SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2005 Service Pack 3 à une installation de SQL Server 2005 Service Pack 3. Par défaut, aucun correctif fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.

La version de SQL Server 2008

Important Vous devez installer ce correctif si vous exécutez la version de SQL Server 2008.

Le correctif de ce problème a été publié tout d'abord en 8 mise à jour cumulative. Pour plus d'informations sur la façon d'obtenir ce package de mise à jour cumulatives pour SQL Server 2008, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
975976Package de mise à jour cumulative 8 pour SQL Server 2008
Remarque Les versions étant cumulatifs, chaque nouvelle version de correctif contient l'intégralité des correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif. Nous vous recommandons de procéder à l'application de la dernière version de 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 :
956909Versions de SQL Server 2008 publiées après SQL Server 2008

SQL Server 2008 Service Pack 1

Important Vous devez installer ce correctif si vous exécutez SQL Server 2008 Service Pack 1.

Tout d'abord, le correctif de ce problème a été publié dans mise à jour cumulative 5 pour SQL Server 2008 Service Pack 1. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
975977Package de mise à jour cumulative 5 pour SQL Server 2008 Service Pack 1
Remarque Les versions étant cumulatifs, chaque nouvelle version de correctif contient l'intégralité des correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif. Microsoft vous recommande d'envisager l'application de la dernière version de 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 :
970365Versions de SQL Server 2008 publiées après SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 les correctifs sont créés pour les service packs pour SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 à une installation de SQL Server 2008 Service Pack 1. Par défaut, aucun correctif fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "S'applique à".

Contournement

Pour contourner ce problème, appliquez l'une des méthodes suivantes :

Méthode 1

Si vous utilisez un agent de fusion en mode continu, arrêtez le processus de l'agent de fusion périodiquement et qu'il démarre à nouveau.

Par exemple, vous recevez des erreurs "Absent (E) du mémoire» bout de cinq jours, et votre agent de fusion est planifié comme un travail. Vous planifiez ensuite un nouveau travail SQL Server Agent appeler sp_stop_job suivie sp_start_job spécifiant votre nom de travail Merge Agent qui passe le processus affecté chaque five days. Lorsque vous arrêtez le processus de l'agent de fusion (Replmerg.exe), toute fuite de mémoire à l'intérieur de l'espace de mémoire de processus est libérée elle aussi.

Pour plus d'informations sur l'utilisation du - Continuous commutateur sur l'agent de fusion, reportez-vous au site Web MSDN (Microsoft Developer Network) à l'adresse suivante :
http://msdn.microsoft.com/en-us/library/ms147839.aspx

sp_stop_jobhttp://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx

sp_start_jobhttp://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx

Méthode 2

Si vous utilisez l'agent de fusion à partir d'un travail, vous pouvez configurer manuelle logique de boucle à l'intérieur du travail à l'aide des étapes supplémentaires au lieu de compter sur le paramètre Continuous. Au lieu du processus de l'agent d'un fusion en boucle en interne pour toujours planifier en continu, l'agent de fusion comme une étape de travail qui se répète fréquemment such as toutes les minutes. Le processus va s'arrêter entre les tentatives et cela libère toute fuite de mémoire.
Modifier l'agent de fusion travail afin que les étapes répéter dans une boucle avec une pause entre se répète.
  1. Après l'étape [3] "détecter arrêt de l'agent non journalisées,"ajoute une nouvelle étape [4] nommée"indéterminée boucle de réessayer." Définir le type à TSQL et la commande "délai waitfor ' 0: 00 : 05 '", ce délai TSQL fournira une pause de deuxième 5 que vous pouvez configurer comme un intervalle d'interrogation de manière à ce que l'agent de fusion s'arrêtez-vous quelques secondes entre les exécutions et non s'exécutent en permanence. Sous l'onglet avancée, spécifiez la On Success «action» que «Aller à l'agent d'exécuter pas à pas [2]» et «Failure Action "as" Go à l'étape agent exécuter [2]».
  2. Modifier l'étape [2] exécuter l'agent pour garantir que la boucle étape [4] est atteinte. Sous l'onglet Avancé de Step [2], définissez la success action, «aller à l'étape: [4] Loop réessayer indéterminée "et définissez l'action de défaillance on pour «Aller à l'étape suivante.»
  3. Modifier l'étape [3] «Arrêt de l'agent non journalisées détecter» pour vous assurer que la boucle à l'étape [4] est atteint. Dans l'étape [3], sous l'onglet Avancé, définissez l'action de réussite on, «Aller à l'étape suivante». Vous pouvez également décider si vous souhaitez que l'étape [3] sur Failure Action à définir comme "Aller à l'étape suivante» ou «quitter le travail signalant l'échec." S'il est configuré pour quitter, il affiche l'échec de travail dans le moniteur de réplication et Job Monitor. S'il est configuré en cas de panne pour accéder à la quatrième étape de boucle, l'agent de fusion peut réexécuter indéfiniment et les erreurs consigné indéfiniment.

Méthode 3

De même si vous utilisez une application RMO pour appeler la méthode MergeSynchronizationAgent.Synchronize() qui synchronise la base de données de l'abonné dans une boucle, arrêtez et redémarrez régulièrement pour libérer toute mémoire qui est une fuite en raison de ce problème.
Pour plus d'informations sur cet objet et la méthode, reportez-vous au site Web MSDN (Microsoft Developer Network) à l'adresse suivante : http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.replication.mergesynchronizationagent.synchronize(SQL.90).aspx

Références

Pour plus d'informations sur l'utilisation-commutateur continu sur l'agent de fusion, reportez-vous au site Web de MSDN (Microsoft Developer Network) à l'adresse suivante :
http://msdn.microsoft.com/en-us/library/ms147839.aspx

Pour plus d'informations sur la procédure sp_stop_job stockées, reportez-vous au site Web de MSDN (Microsoft Developer Network) à l'adresse suivante :
http://http://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx

Pour plus d'informations sur la procédure sp_start_job stockées, reportez-vous au site Web de MSDN (Microsoft Developer Network) à l'adresse suivante :
http://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx

Pour plus d'informations sur l'obtention de SQL Server 2005 Service Pack 3, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
913089Comment faire pour obtenir la dernière pack de service pour SQL Server 2005
Pour plus d'informations sur les nouvelles fonctionnalités dans SQL Server 2005 Service Pack 3 (SP3) et sur les améliorations apportées à SQL Server 2005 SP3, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://go.microsoft.com/fwlink/?LinkId=131442
Pour plus d'informations sur le modèle d'affectation de noms pour les mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
822499Nouveau modèle d'affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server
Pour plus d'informations sur la terminologie de mise à jour de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
824684Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 974660 - Dernière mise à jour: lundi 2 novembre 2009 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Mots-clés : 
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB974660 KbMtfr
Traduction 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: 974660
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.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com