Update: Wenn Sie die Mergereplikation mit Websynchronisierung in SQL Server 2005 oder SQL Server 2008 verwenden, erhalten Fehlermeldungen nicht genügend Speicher

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 974660 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Verwenden Sie SQL Server 2005-Mergereplikation oder SQL Server 2008 Mergereplikation mit einer der Websynchronisierung Abonnenten basiert. Tritt ein Arbeitsspeicherverlust auf, nachdem Sie wiederholte Synchronisierungen und es wird möglicherweise "Out of Memory" Fehler nach einem bestimmten Zeitraum. Dies wird deutlich, wenn der Host-Prozess nicht neu gestartet wird, eine lange, wie z. B. wenn der Merge-Agent (Replmerg.exe) mit der - Continuous Schalter verwendet wird oder wann wird der fortlaufende Parameter angegeben, in das Profil des Agenten, die an den Agent angewendet wird. Außerdem kann ein RMO Anwendungen oder Dienste, die Sie entwickelt haben, die Synchronisierung in einer Schleife ausgeführt, wird Wenn die Anwendung für mehrere Tage ohne Beenden ausgeführt wird, die von diesem Problem betroffen.

Ursache

Mehrere interne Objekte werden bei jeder Synchronisierung Verluste auftreten.

Lösung

SQL Server 2005 Servicepack 3

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Updates 6 für SQL Server 2005 Service Pack 3 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket klicken Sie auf die folgende KB-Artikelnummer:
974648Kumulatives Updatepaket 6 für SQL Server 2005 Service Pack 3
Hinweis: Da die Builds kumulativ sind, enthält jede neue Update-Version des Hotfixes, und alle Sicherheitsupdates, die mit früheren SQL Server 2005 geliefert wurden beheben Version. Microsoft empfiehlt, dass Sie in Betracht ziehen Anwenden der neuesten Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
960598SQL Server 2005 erstellt, die nach der Veröffentlichung von SQL Server 2005 Service Pack 3 veröffentlicht wurden.
Microsoft SQL Server 2005-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen SQL Server 2005 Service Pack 3 Hotfix auf eine Installation von SQL Server 2005 Service Pack 3 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack zur Verfügung gestellt wird in das nächste Servicepack für SQL Server enthalten.

Die veröffentlichte Version von SQL Server 2008

Wichtig Sie müssen dieses Update installieren, wenn Sie die veröffentlichte Version von SQL Server 2008 ausgeführt werden.

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 8 freigegeben. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket für SQL Server 2008 erhalten klicken Sie auf die folgende KB-Artikelnummer:
975976Kumulative Updatepaket 8 für SQL Server 2008
Hinweis: Da die Builds kumulativ sind, enthält jede neue Update-Version des Hotfixes, und alle Sicherheitsupdates, die mit früheren SQL Server 2008 geliefert wurden beheben Version. Es empfiehlt sich, übernehmen die neueste Version der Updates, die diesen Hotfix enthält. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
956909SQL Server 2008 erstellt, die freigegeben wurden, nach der Veröffentlichung von SQL Server 2008

SQL Server 2008 Servicepack 1

Wichtig Sie müssen dieses Update installieren, wenn Sie SQL Server 2008 Service Pack 1 ausgeführt werden.

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulative Update 5 für SQL Server 2008 Service Pack 1 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket klicken Sie auf die folgende KB-Artikelnummer:
975977Kumulatives Updatepaket 5 für SQL Server 2008 Service Pack 1
Hinweis: Da die Builds kumulativ sind, enthält jede neue Update-Version des Hotfixes, und alle Sicherheitsupdates, die mit früheren SQL Server 2008 geliefert wurden beheben Version. Microsoft empfiehlt, dass Sie in Betracht ziehen Anwenden der neuesten Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
970365SQL Server 2008 erstellt, die nach der Veröffentlichung von SQL Server 2008 Service Pack 1 veröffentlicht wurden
Microsoft SQL Server 2008-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen Hotfix für SQL Server 2008 Service Pack 1 auf eine Installation von SQL Server 2008 Service Pack 1 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack zur Verfügung gestellt wird in das nächste Servicepack für SQL Server enthalten.

Status

Microsoft hat bestätigt, dass dies ein Problem in der Microsoft-Produkten handelt, die im Abschnitt "Beziehen sich auf" aufgeführt sind.

Abhilfe

Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden:

Methode 1

Wenn Sie einen Merge-Agent im kontinuierlichen Modus verwenden, den Merge-Agent-Prozess in regelmäßigen Abständen zu beenden und neu zu starten.

Beispielsweise erhalten Sie "Out of Memory" Fehler nach fünf Tagen, und der Merge-Agent wird als eine Auftrag geplant. Sie planen, dann eine neue SQL Server Agent Auftrag aufrufen, Sp_stop_job gefolgt von Sp_start_job Angabe Ihrer Merge Agent Auftrag-Namens, der den betreffenden Prozess jeder Five days durchlaufen wird. Wenn Sie den Merge-Agent (Replmerg.exe)-Prozess beenden, werden alle Speicherbelegung innerhalb Speicherbereichs für den Prozess freigegeben.

Weitere Informationen zur Verwendung der - Continuous Option auf der Merge-Agent finden Sie in den folgenden Microsoft Developer Network (MSDN)-Website:
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

Methode 2

Wenn Sie den Merge-Agent aus einem Auftrag verwenden, konnte manuelle Schleife Logik innerhalb des Auftrag mit zusätzlichen Schritte präziser auf Continuous-Parameter konfiguriert werden. Planen Sie anstelle von intern ewig kontinuierlich in einer Schleife einer Merge Agent-Prozess der Merge-Agent als ein Auftrag-Schritt, wiederholt wird, auf Basis eines häufige such as einmal pro Minute. Der Prozess wird zwischen den Wiederholungen beendet, und auf diese Weise steht Speicherbelegung.
Bearbeiten Sie den Merge-Agent Auftrag so, dass die Schritte in einer Schleife mit einer Pause zwischen wiederholen wiederholt.
  1. Nach dem Schritt [3] "erkennen nicht protokollierte Agent wird heruntergefahren, unbegrenzten" Wiederholen "Loop"Hinzufügen einer neuen Schritt [4], die mit dem Namen"." Festlegen des Typs TSQL und den Befehl "Waitfor Verzögerung" 0: 00: 05 "", diese Verzögerung TSQL, bietet dies eine 5 zweite Pause, konfigurieren Sie als ein Abrufintervall derart, dass vom Merge-Agent kurz zwischen Ausführungen anhalten und nicht ständig ausgeführt wird. Geben Sie auf der Registerkarte Erweiterte die "bei Erfolg Aktion" als "Gehe zu Schritt [2] ausführen-Agent" und "Bei Fehler bei der Aktion"as"Go to Step-Agent [2] ausführen."
  2. Bearbeiten Sie-[2] Schritt Agent ausführen, stellen Sie sicher, dass die Schleife Schritt [4] erreicht ist. Legen Sie auf der Registerkarte Erweiterte des Schritts [2] erfolgreich bei Aktion "Gehe zu Schritt: [4] unbegrenzten" Wiederholen "Wiederholen", und legen Sie den bei Fehler Aktion auf "Gehe zum nächsten Schritt."
  3. Bearbeiten von Schritt [3] "Erkennen nicht protokollierte Agent wird heruntergefahren" um sicherzustellen, dass die Schleife in Schritt [4] erreicht ist. Legen Sie auf der Registerkarte Erweiterte Schritt [3] die bei Erfolg Aktion, "Gehe zum nächsten Schritt". Sie können auch entscheiden, ob Sie den Schritt [3] bei Fehler bei der Aktion festgelegt werden, als "Gehe zum nächsten Schritt"oder "beenden den Fehler meldet Auftrag". Wenn er darauf konfiguriert ist, beenden, werden im Replikationsmonitor und den Auftrag Monitor den Auftrag Fehler angezeigt. Wenn es bei einem Fehler, um die vierte Schleife Schritt aufzurufen konfiguriert ist, kann vom Merge-Agent erneut auf unbestimmte Zeit ausführen und die Fehler werden unbegrenzt protokolliert.

Methode 3

Auch wenn Sie eine Anwendung RMO, verwenden um die MergeSynchronizationAgent.Synchronize()-Methode aufrufen, die der Abonnentendatenbank in einer Schleife synchronisiert, beenden und starten Sie den Vorgang in regelmäßigen Abständen, um alle Speicher freizugeben, der wegen dieses Problems einen Speicherverlust ist neu.
Weitere Informationen zu diesem Objekt und die Methode finden Sie in den folgenden Microsoft Developer Network (MSDN)-Website: http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.replication.mergesynchronizationagent.synchronize(SQL.90).aspx

Informationsquellen

Weitere Informationen über die Verwendung der - Continuous Schalter auf der Merge-Agent die folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn.microsoft.com/en-us/library/ms147839.aspx

Weitere Informationen über die Sp_stop_job gespeicherten Prozedur finden Sie auf folgender Website von Microsoft Developer Network (MSDN):
http://http://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx

Weitere Informationen über die Sp_start_job gespeicherten Prozedur finden Sie auf folgender Website von Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx

Weitere Informationen zum SQL Server 2005 Service Pack 3 zu erhalten, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
913089So erhalten Sie das neueste Servicepack für SQL Server 2005
Weitere Informationen über die neuen Features in SQL Server 2005 Service Pack 3 (SP3) und die Verbesserungen in SQL Server 2005 SP3 finden Sie auf folgender Website von Microsoft:
http://go.microsoft.com/fwlink/?LinkId=131442
Weitere Informationen das Benennungsschema für SQL Server-Updates finden Sie die folgende KB-Artikelnummer:
822499Neues Benennungsschema für Softwareupdate-Pakete von Microsoft SQL Server
Weitere Informationen zur Terminologie für Softwareupdates finden Sie die folgende KB-Artikelnummer:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Eigenschaften

Artikel-ID: 974660 - Geändert am: Montag, 2. November 2009 - Version: 3.2
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB974660 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 974660
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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