Wenn Ihre Datenbank-Applikationen unter MS SQL Server auch bei einem Server-Ausfall ohne Unterbrechung ausgeführt werden sollen könnte das Thema Database-Mirroring (Datenbank-Spiegelung) für Sie interessant sein.
Database-Mirroring ist eine von Microsoft entwickelte Technologie, um die Verfügbarkeit von Datenbanken zu verbessern und den möglichen Datenverlust bei einem Server-Ausfall zu verhindern.
Wie funktioniert Database-Mirroring ?
Die Datenbank-Spiegelung übernimmt Einträge aus dem Transaktionsprotokoll einer MS SQL Server Datenbank (Prinizipal-Datenbank) direkt von einem Server zu einer Datenbank auf einen anderen Server (Spiegel-Datenbank) und kann bei einem technischen Problem einen schnellen Failover auf die Spiegel-Datenbank durchführen.
Seit der Einführung von SQL Server 2008 wird für das Database Mirroring das neue Feature "Database Mirroring Log Compression" verwendet. Damit wird der ausgehende Log-Stream von der Prinzipal-Datenbank zur Spiegel-Datenbank komprimiert und benötigt somit weniger Netzwerk-Bandbreite.
Mit dem Einsatz eines Zeugen-Server (Witness) kann der Failover-Prozess automatisch beim Ausfall der Prinzipal-Datenbank erfolgen.
Sie können Clientanwendungen so programmieren, dass diese bei einem Failover automatisch mit der Spiegel-Datenbank arbeiten.
Wenn Sie weitere Details zum Database Mirroring interessieren und Sie wissen möchten wie Sie diese Datenbank-Technologie in Ihrer SQL Server Instanz einrichten können, empfehlen wir Ihnen unseren Artikel Microsoft SQL Server - Database Mirroring (Funktion und Konfiguration).
Was sind die Unterschiede zum Logfile-Shipping ?
Ein weiterer Ansatz, um nach einem Server-Ausfall in sehr kurzer Zeit eine "Ersatz-" Datenbank zu erzeugen, ist die Logfile Shipping Methode. Mit dieser Methode werden von einer primären Datenbank Transaktionsprotokolle an eine oder mehrere sekundäre Datenbanken versendet und dort zur laufenden Wiederherstellung der sekundären Datenbanken verwendet.
Im Gegensatz zum Database Mirroring wird beim Logfile Shipping eine Netzwerkfreigabe benötigt, auf der die Transaktionsprotokolle vom primären Server kopiert werden. Diese Transaktionsprotokolle werden von den sekundären Instanzen auf ein lokales Laufwerk kopiert und für ein Restore der sekundären Datenbank verwendet. Für die Kopier- und Restore-Aktionen auf dem primären und sekundären Server wird der SQL Agent der primären und sekundären Instanzen verwendet.
Der Vorteil beim Logifle Shipping besteht darin, daß mehrere Stand-By-Datenbanken erzeugt werden können auf die Applikationen lesend zugreifen können. Ein Nachteil im Gegensatz zum Database Mirroring ist die fehlende Möglichkeit eines automatischen Failovers und ein höheres Datenverlust-Risiko bei einem Server-Ausfall.
Wenn Sie mehr über diese beiden Methoden zur Erhöhung der Ausfall-Sicherheit benötigen oder diese in Ihrem Unternehmen einsetzen möchten nehmen Sie mit uns Kontakt auf. Wir unterstützen Sie gerne !