Fragensteller
Mirror not synchronizing after Failover

Allgemeine Diskussion
-
Hello Folks
I've got a problem with a Database in synchron Mirroring with Witness Modus.
After the Failover occurs, the mirror can't synchronize with the principal due of high Insert rate from the application.
Network latency is <1ms.
2x SQL 2008R2 x64 SP1 Standard on Windows 2008 x64 on VMWare.
Database is 60 GB.
Tested this also in a physical Environment, same problem.
Is this a common bug that the mirror can't synchronize when the database is under heavy load ?
- Typ geändert Raul TalmaciuMicrosoft contingent staff Montag, 12. März 2012 08:50 Warten auf Feedback
Alle Antworten
-
Hallo Jösche,
da dies eine deutsche Newsgroup ist, antworte ich auch mal auf deutsch.Wie kommst Du zu der Einschätzung, dass es an der hohen Zahl der Inserts liegt?
Was ist hoch?
Wie ist die allgemeine Auslastung des Systems?
Was sagt der Datenbank-Spiegelungsmonitor?Ich hatte schon mal beobachtet, dass im Falle einer Neu-Synchronisierung (falls also der Partner ausgefallen war) zuerst mal im asynchronen Modus gearbeitet wird, bis beide wieder synchron sind. Erst danach werden auch die Transaktionen wieder synchron verarbeitet.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu -
Hallo Christoph
Wollte eigentlich in der englischen Gruppe posten aber irgendwie hat es mich hierher verschlagen :-)
Der asynchrone Modus ist nur in der Enterprise Edititon vorhanden, könnte das ein Problem sein ?
Ich teste das ganze momentan mit einem selbstgeschriebenen Powershell, komme auf 6500 Inserts pro Sekunde.
Die Auslastung ist eigentlich nicht auffällig hoch.
Der Datenbankspiegelungsmonitor hat folgende Werte:
Unsent Log: 107kb
Oldest unsend transaction= 00.00.26
Current Send Rate 141 kb
Current Rate of new transaction 142 kb
Current Restore Rate 147 kb
Mirror commit overhead 0 milliseconds
Sobald ich das Powershell script stoppe ist die DB wieder synchronized.
Sieht so aus als ob der Mirror hinterher rennen würde.
- Bearbeitet Jösche Montag, 5. März 2012 14:47
-
Die asynchrone Spiegelung ist wirklich ein Enterprise Feature. Das Verfahren wird aber trotzdem nach einem Failover verwendet, bis beide Server synchron sind. Danach läuft wieder alles synchron.
Bei der synchronen Spiegelung sollte auch der Principal-Server soweit ausgebremst werden, bis auf dem Secondary Server die Transaktion angekommen ist.Wichtig wären noch die beiden Werte:
- Unrestored Log
- Time to restore log (estimated)Damit hättest Du das Log, was schon gesendet wurde, aber noch nicht wiederhergestellt. Entweder hast Du also dort einen Engpass, oder bei der Verbindung, so dass Du die Transaktionen nicht schnell genug senden kannst. Das könnte man evtl. auch im Betrieb merken, wenn die Datenbanken synchron sind, werden die Transaktionen langsamer, da Du auf die Übertragung warten musst.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu -
Hallo,
bist Du inzwischen weitergekommen?
Gruss,
RaulRaul Talmaciu, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.