Ich habe die Funktion "Verfügbarkeitsgruppen" in SQL Server 2012 getestet und stelle fest, dass beim Ausfall des Primärservers auf den Sekundärserver eine Ausfallzeit von ca. 15 Sekunden auftritt. Alle während dieser Zeit ausgeführten SQL-Abfragen schlagen fehl, bis der Failover-Übergang abgeschlossen ist.
Gibt es eine Möglichkeit, dies auf 0 Sekunden zu reduzieren und zu verhindern, dass Abfragen während des Failover-Übergangs fehlschlagen?
Mit anderen Worten, gibt es eine Möglichkeit, Abfragen während des Fehlers zum Umleiten auf den Primärserver auszuführen, anstatt zu scheitern ... und gibt es eine Möglichkeit, neue Datenbankverbindungen zu erhalten, um sofort eine Verbindung zum Sekundärserver herzustellen, anstatt zu scheitern während des Failover-Übergangs verbinden?
Ich habe derzeit 2 Server in der Verfügbarkeitsgruppe eingerichtet.
Antworten:
Nein, mit AlwaysOn (oder, soweit mir bekannt ist, in SQL Server im Allgemeinen) ist kein Failover ohne Ausfallzeiten möglich. Zu diesem Zweck müsste der SQL Server, mit dem Sie verbunden sind, während der Abfrage eine Statusübertragung auf einen anderen Knoten durchführen. Da viele Failover unerwartet sind, ist dies nicht möglich.
Sie können jedoch in AlwaysOn "Nur-Lese-Sekundärdateien" aktivieren, und dann haben Ihre Leser keine Ausfallzeit, wenn der Primärserver ausfällt. Da sie ohnehin eine Verbindung zu einer sekundären Kopie herstellen, um ihre SELECT-Abfragen auszuführen, würden sie dies nicht tun Beachten Sie sogar das Failover. Es würde immer noch eine Unterbrechung für Benutzer mit einer offenen "Schreib" -Verbindung geben, aber zumindest ein Teil Ihrer Benutzerbasis würde nicht unterbrochen.
quelle