SQL Server 2012 treten Out-of-Memory-Fehler

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

Auf dieser Seite

Problembeschreibung

Microsoft SQL Server 2012 können einige Out-of-Memory-Fehler aufgrund einer internen Speicherverlust auftreten. In diesem Fall wird der verlorene Speicherbereich von der MEMORYCLERK_SQLLOGPOOL -Speicher-Schreiber genutzt, die intern für Transaktionsprotokollaktivitäten verwendet wird. MEMORYCLERK_SQLLOGPOOL Memory Clerk ist z. B. intern für die folgenden Transaktionsprotokollaktivitäten verwendet:
  • "AlwaysOn" Änderung Aufzeichnen von Aktivitäten für die primäre Replikate
  • "AlwaysOn" redo-Manager-Aktivitäten für die sekundäre Verfügbarkeit-Replikate

Dieses Problem kann durch eine hohe Anzahl von Transaktionen verschärft werden, die auf eine Instanz von SQL Server synchronisiert werden, die viele Verfügbarkeit Datenbanken hostet. Wenn dieses Problem auftritt, wird eine Fehlermeldung angezeigt, die etwa folgenden Inhalts im SQL-Fehlerprotokoll protokolliert:
Fehler beim reservieren Seiten: FAIL_PAGE_ALLOCATION 8
Fehler: 701, Schweregrad: 17, Status: 107.
Nicht genügend Systemspeicher ist vorhanden im Ressourcenpool 'intern' zum Ausführen dieser Abfrage.
Fehler: 701, Schweregrad: 17, Status: 123.
Es ist nicht genügend Arbeitsspeicher im Ressourcenpool "PoolName", um diese Abfrage auszuführen.
Fehler: 701, Schweregrad: 17, Status: 107. (Params :). Der Fehler wird im knappe Modus gedruckt, da Fehler, während der Formatierung aufgetreten. Ablaufverfolgung, werden übersprungen, ETW, Benachrichtigungen usw..
Fehler: 17312, Schweregrad: 16, Status: 1.
SQL Server wird eine System- oder Hintergrundtask Aufgabe HADR Aufgabe aufgrund von Fehlern beim Starten des Tasks (Setupstatus 1) beendet.
AppDomain-3181 (<appdomain>) ist für das Entladen aufgrund von ungenügendem Arbeitsspeicher markiert.
AppDomain-3181 (<appdomain>) entladen.
Fehler: 9602, Schweregrad: 16, Status: 1.
Fehler beim Starten einer Systemaufgabe mit Fehlercode: 28709, Zustand 19.
Fehler: 17300, Schweregrad: 16, Status: 1.
SQL Server konnte einen neuen Systemtask ausführen, entweder weil es ist nicht genügend Arbeitsspeicher oder die Anzahl der konfigurierten Sitzungen überschreitet die maximal zulässige auf dem Server. Stellen Sie sicher, dass der Server über ausreichenden Arbeitsspeicher verfügt. Verwenden Sie Sp_configure mit Option 'User Connections die maximale Anzahl der zulässigen Benutzerverbindungen überprüft. Verwenden Sie sys. dm_exec_sessions, um die aktuelle Anzahl der Sitzungen, einschließlich von Benutzerprozessen zu überprüfen.
Fehler: 17312, Schweregrad: 16, Status: 1.
SQL Server wird eine System- oder Hintergrundtask Aufgabe HADR Aufgabe aufgrund von Fehlern beim Starten des Tasks (Setupstatus 1) beendet.
Fehler: 18054, Schweregrad: 16, Status: 1.</appdomain></appdomain>
Wenn die Instanz von SQL Server eine Datenbank, die in einer SQL Server AlwaysOn-Verfügbarkeit-Gruppe beteiligt ist hostet, kann die Datensynchronisierung zwischen Replikaten fehlschlagen. Um das Problem zu umgehen, können Sie beenden und starten Sie SQL Server neu.

Tritt die Out-of-Memory Bedingungen Verfügbarkeit-Gruppe kann ein Failover auf sekundären Verfügbarkeit Replikat, und das ehemalige primäre Replikat kann weiter Störungen zu erreichen, bis der Dienst beendet und neu gestartet wird. Verfügbarkeit-Gruppe kann in der zum Auflösen von oder unbekannten Status wechseln, und alle Datenbanken in dieser Gruppe Verfügbarkeit können nicht zugegriffen werden kann, werden, bis der SQL-Dienst neu gestartet wird, um den Protokoll-Pool-Speicherplatz freizugeben.

Zu Beginn der Fehler in der Ausgabe zu beachten, führen Sie die Anweisung DBCC MEMORYSTATUS können, die viele Gigabyte an Speicher von der MEMORYCLERK_SQLLOGPOOL -Speicher-Schreiber genutzt werden. Der folgende Code ist ein Beispiel für die Ausgabe:
MEMORYCLERK_SQLLOGPOOL (Knoten 0) KB
---------------------------------------- -----------
VM reserviert 0
VM begangen 0
Gesperrte Seiten reserviert 0
SM reserviert 0
SM begangen 0
Seiten reserviert 823544
Die Anzahl der Speicherseiten des Problems sehen auch durch Ausführen der folgenden DMV Abfragen:
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%'
Ein anderes mögliches Problem ist, dass SQL Server-Abfragen für RESOURCE_SEMAPHORE Wartetyp (waittype) warten können, wenn der Puffer-Poolspeicher aufgrund der großen Anzahl von Protokoll Pool Verbraucher sofort abgerufen werden kann.

Dieser Hotfix behebt die folgenden Probleme:
  • Ein Speicherverlust ist in der internen Read-ahead-Mechanismus behoben, mit der die Transaktion-Protokoll-Pools zu suchen, die von "AlwaysOn" und andere Transaktions Protokoll prozessorintensiven Aktivitäten in SQL Server 2012 verwendet werden.
  • Wenn wenig Arbeitsspeicher verfügbar ist, gibt SQL Server das interne Protokoll Poolspeicher aggressiv zu mehr fehlerfreie Wiederherstellung ausgefallener Out-of-Memory.

Lösung

Kumulatives Update-Informationen

Kumulatives Update 2 für SQL Server 2012 SP1

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 2 veröffentlicht. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket für SQL Server 2012 SP1 erhalten finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2790947 Kumulierte Updatepaket 2 für SQL Server 2012 Service Pack 1
Hinweis Da diese Builds kumulativ sind, jede neue Version enthält alle Hotfixes und alle die Sicherheitsupdates, die in der vorherigen SQL Server 2012 SP1 enthalten waren. Es wird empfohlen, dass es Sie sich die neueste Version, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2772858 Die SQL Server 2012 erstellt, die nach der Freigabe von SQL Server 2012 Service Pack 1

Kumulatives Update 5 für SQL Server 2012

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 5 veröffentlicht. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket für SQL Server 2012 zu erhalten finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2777772 Kumulatives Updatepaket 5 für SQL Server 2012
Hinweis Da diese Builds kumulativ sind, jede neue Version enthält alle Hotfixes und alle die Sicherheitsupdates, die mit früheren SQL Server 2012 enthalten waren. Es wird empfohlen, dass es Sie sich die neueste Version, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2692828 Die SQL Server 2012 erstellt, die nach der Freigabe von SQL Server 2012

Hotfix-Informationen

Ein unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix behebt jedoch nur das Problem, welches in diesem Artikel beschrieben wird. Wenden Sie diesen Hotfix nur auf Systeme an, bei denen dieses spezielle Problem auftritt.

Wenn der Hotfix zum Download zur Verfügung steht, wird es im oberen Bereich dieses Artikels einen Link "Hotfix donwload" geben. Wenn in diesem Abschnitt nicht angezeigt wird, senden Sie eine Anfrage an Microsoft Customer Service und Support, um den Hotfix zu erhalten.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die üblichen Support-Kosten gelten für zusätzliche Supportfragen und Probleme, die für diesen speziellen Hotfix nicht qualifizieren. Eine vollständige Liste von Microsoft Customer Service und Support-Telefonnummern oder eine separate Serviceanfrage erstellen finden Sie auf der folgenden Microsoft-Website:
http://support.Microsoft.com/contactus/?WS=Support
Hinweis Das Formular "Hotfixdownload available" zeigt die Sprachen an, in denen der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, liegt es daran, dass kein Hotfix für diese Sprache verfügbar ist.

Ist ein Neustart erforderlich?

Sie müssen den Computer nicht neu starten, nachdem Sie diesen Hotfix angewendet haben.

Erforderliche Komponenten

Um diesen Hotfix zu installieren, müssen Sie SQL Server 2012 installiert haben.

Dateiinformationen

Die internationale Version dieses Hotfixes weist Dateiattribute (oder höher), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien werden in Coordinated Universal Time (UTC) aufgeführt. Wenn Sie die Dateiinformationen anzeigen, wird es in die lokale Ortszeit konvertiert. Um die Differenz zwischen UTC und Ortszeit zu ermitteln, verwenden Sie die Zeitzone Registerkarte der Datum und Uhrzeit Element in der Systemsteuerung.
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Sqlmin.dll2011.110.2387.032,460,27219-ÜLG-201205: 25x64
Sqlservr.exe2011.110.2387.0190,94419-ÜLG-201205: 01x64
Sqlmin.dll2011.110.2387.026,515,93619-ÜLG-201205: 22X 86
Sqlservr.exe2011.110.2387.0160,22419-ÜLG-201205: 17X 86

Eigenschaften

Artikel-ID: 2769594 - Geändert am: Donnerstag, 24. Januar 2013 - Version: 4.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
Keywords: 
kbtshoot kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2769594 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: 2769594
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