Ich habe einige Microsoft SQL Server 2012-Spiegel ohne Zeugen im asynchronen Modus, die sporadisch getrennt werden. Ich verwende SQL Server 2012 11.0.5058. Wenn ich mir die Protokolle auf der Spiegelseite ansehe, sehe ich
BUFs konnten nicht zugeordnet werden: FAIL_BUFFER_ALLOCATION 1
Es gibt eine ganze Reihe von Memoryclerk-Nachrichten
Fehler: 802, Schweregrad: 17, Status: 0.
Im Pufferpool ist nicht genügend Speicher verfügbar.
Fehler: 1454, Schweregrad: 16, Status: 1.
Die Datenbankspiegelung wird ausgesetzt. Die Serverinstanz 'Instanz' hat den Fehler 802, Status 0, Schweregrad 17 festgestellt, als sie als Spiegelungspartner für die Datenbank 'Datenbank' fungierte. Die Datenbankspiegelungspartner versuchen möglicherweise, den Fehler automatisch zu beheben und die Spiegelungssitzung fortzusetzen. Weitere Informationen finden Sie im Fehlerprotokoll, um weitere Fehlermeldungen zu erhalten.
Jede Hilfe, was zu überprüfen ist, um herauszufinden, warum die Spiegel nach dieser Ereigniskette aufgehängt und dann getrennt werden, wäre willkommen. Danach kann ich die Spiegel wieder herstellen und sie funktionieren ein paar Tage lang einwandfrei und dann passiert es wieder von vorne.
quelle
11.0.5048
falsch klingt?Antworten:
Ich hatte in meiner vorherigen Firma ein sehr ähnliches Problem. Das Datenbank-Miroring wurde regelmäßig mit demselben Fehler angehalten, den Sie erhalten. Das Spiegeln wurde nie wieder alleine verbunden, aber normalerweise konnte ich es wieder aufnehmen mit:
Nach einigen Wochen stellten wir fest, dass unsere Arbeitslast sehr ungleich verteilt war und manchmal 100% des Speichers verwendet wurde, obwohl auf dem Server genügend Speicher vorhanden war und der Instanz genügend Speicher zugewiesen wurde. Da wir die meiste Zeit über genügend Speicher verfügten, waren wir nicht berechtigt, mehr zu kaufen. Am Ende habe ich die Pufferpool-Erweiterungsdatei vergrößert und auf einer der SSDs abgelegt, auf denen zufällig genügend Speicherplatz vorhanden war. Das Problem mit der Spiegelung ist nie wieder aufgetreten. Ich kann nicht garantieren, dass dasselbe für Sie funktioniert. Ich teile hauptsächlich meine Erfahrungen.
quelle
Einige Fragen, die Sie stellen und mit der Fehlerbehebung beginnen müssen 1.Wie viele Datenbanken spiegeln Sie
? 2.Wie viel RAM steht für SQL Server
zur Verfügung? 3.Wie groß ist die gespiegelte Datenbank?
Nachfolgend finden Sie die groben Schätzungen der Spiegelungsanforderungen, wenn die Spiegelung aktiviert ist
on Prinicipal:
4 MB pro Datenbank für DBM- Sendepuffer plus 4 MB für Protokollschreibpuffer
On Mirror:
1 MB für Protokollschreibpuffer und 1 MB für Protokoll-REDO-Puffer
Sie können auch den Speicherverbrauch pro Datenbank auf der Spiegelinstanz überprüfen, um festzustellen, welche Datenbank der Engpass ist, und mit der Fehlerbehebung beginnen
Speicherauslastung pro Datenbank - SQL Server
quelle