Installieren eines Service Packs auf einem System mit minimaler Downtime der gespiegelten Datenbanken
In diesem Thema wird beschrieben, wie beim Installieren von Service Packs und Hotfixes die Downtime von gespiegelten Datenbanken minimiert werden kann. Dieser Prozess umfasst ein sequenzielles Upgrade der Instanzen von SQL Server 2012, die von der Datenbankspiegelung betroffen sind. Diese Form des Updates, die als paralleles Update bezeichnet wird, führt zu einer Minimierung der Downtime auf nur einen Failover. Unter Umständen ist das parallele Update nicht für Sitzungen im hochleistungsfähigen Modus geeignet, bei denen sich der Spiegelserver und der Prinzipalserver an unterschiedlichen geografischen Orten befinden.
Ein paralleles Update ist ein mehrstufiger Prozess, der aus den folgenden Phasen besteht:
Schützen Sie die Daten.
Wenn an der Sitzung ein Zeuge beteiligt ist, sollten Sie den Zeugen entfernen. Andernfalls hängt die Datenbankverfügbarkeit von dem Zeugen ab, der weiterhin mit der Prinzipalserverinstanz verbunden bleibt, wenn die Spiegelserverinstanz aktualisiert wird. Nachdem Sie einen Zeugen entfernt haben, ist ein Update jederzeit während des parallelen Updateprozesses möglich, ohne Gefahr zu laufen, dass die Datenbank ausfällt.
Hinweis Weitere Informationen finden Sie unter Quorum: Auswirkungen eines Zeugen auf die Datenbankverfügbarkeit (Datenbankspiegelung).
Ändern Sie den Betriebsmodus in den Modus für hohe Sicherheit, wenn eine Sitzung im Modus für hohe Leistung ausgeführt wird.
Aktualisieren Sie jede Serverinstanz, die von der Datenbankspiegelung betroffen ist. Beim parallelen Update wird auch die Serverinstanz aktualisiert, die derzeit als Spiegelserver fungiert. Dabei wird ein manuelles Failover der gespiegelten Datenbanken ausgeführt und die Serverinstanz aktualisiert, die zunächst als Prinzipalserver fungiert hat (und nun der neue Spiegelserver ist). Zu diesem Zeitpunkt müssen Sie die Spiegelung fortsetzen.
Hinweis Vor der Ausführung eines parallelen Updates sollten Sie zu Übungszwecken ein manuelles Failover in mindestens einer Spiegelungssitzung ausführen.
Kehren Sie ggf. in den Modus für hohe Leistung zurück.
Fügen Sie ggf. den Zeugen wieder der Spiegelungssitzung hinzu.
Die Vorgehensweisen für die einzelnen Phasen werden hier beschrieben.
Wichtig |
---|
Eine Serverinstanz kann bei gleichzeitigen Spiegelungssitzungen verschiedene Spiegelungsrollen (Prinzipalserver, Spiegelserver oder Zeuge) ausführen. In diesem Fall müssen Sie den grundlegenden Prozess für das parallele Update entsprechend anpassen. |
So schützen Sie Ihre Daten vor einem Update (bewährte Methode)
Führen Sie für jede Prinzipaldatenbank eine vollständige Datenbanksicherung aus.
So sichern Sie eine Datenbank
Führen Sie den DBCC CHECKDB-Befehl für jede Prinzipaldatenbank aus.
So entfernen Sie einen Zeugen aus einer Sitzung
Wenn ein Zeuge an einer Spiegelungssitzung beteiligt ist, sollte der Zeuge vor der Ausführung eines parallelen Updates entfernt werden.
So entfernen Sie den Zeugen
So ändern Sie den Modus einer Sitzung vom Modus für hohe Leistung in den Modus für hohe Sicherheit
Ändern Sie den Betriebsmodus in den Hochsicherheitsmodus ohne automatisches Failover, wenn sich eine Spiegelungssitzung vor der Ausführung eines parallelen Updates im hochleistungsfähigen Modus befindet. Verwenden Sie eine der folgenden Methoden:
In SQL Server Management Studio: Ändern Sie im Dialogfeld Datenbankeigenschaften auf der Seite Spiegelung die Option Betriebsmodus in Hohe Sicherheit ohne automatisches Failover (synchron). Informationen zum Zugriff auf diese Seite finden Sie unter Starten des Assistenten zum Konfigurieren der Sicherheit für die Datenbankspiegelung (SQL Server Management Studio).
In Transact-SQL: Legen Sie die Transaktionssicherheit auf FULL fest. Weitere Informationen finden Sie unter Ändern der Transaktionssicherheit in einer Datenbank-Spiegelungssitzung (Transact-SQL).
So führen Sie das parallele Update aus
Zur Minimierung der Downtime wird Folgendes empfohlen: Starten Sie das parallele Update mit dem Aktualisieren aller Spiegelungspartner, die aktuell als Spiegelserver in allen Spiegelungssitzungen fungieren. Möglicherweise müssen an dieser Stelle mehrere Serverinstanzen aktualisiert werden.
Hinweis Ein Zeuge kann jederzeit während der Ausführung des parallelen Updates aktualisiert werden. Wenn beispielsweise eine Serverinstanz in Sitzung 1 als Spiegelserver und in Sitzung 2 als Zeuge fungiert, können Sie die Serverinstanz nun aktualisieren.
Welche Serverinstanz zuerst aktualisiert wird, hängt von der aktuellen Konfiguration der Spiegelungssitzungen ab:
Wenn bereits eine Serverinstanz als Spiegelserver in allen Spiegelungssitzungen fungiert, installieren Sie das Service Pack bzw. den Hotfix auf dieser Serverinstanz.
Wenn alle Serverinstanzen derzeit als Prinzipalserver in allen Spiegelungssitzungen fungieren, wählen Sie eine Serverinstanz aus, die zuerst aktualisiert werden soll. Führen Sie dann ein manuelles Failover für alle Prinzipaldatenbanken aus, und aktualisieren Sie die Serverinstanz, indem Sie das Service Pack bzw. das Hotfix installieren.
Nach dem Update nimmt eine Serverinstanz automatisch wieder an den zugehörigen Spiegelungssitzungen teil.
So führen Sie ein manuelles Failover aus
Manueller Failover für eine Datenbank-Spiegelungssitzung (SQL Server Management Studio)
Ausführen des manuellen Failovers einer Datenbank-Spiegelungssitzung (Transact-SQL).
Informationen zur Funktionsweise eines manuellen Failovers finden Sie unter Rollenwechsel während einer Datenbank-Spiegelungssitzung (SQL Server).
Warten Sie bei jeder Spiegelungssitzung, deren Serverinstanz gerade aktualisiert wurde, die Synchronisierung der Sitzung ab. Stellen Sie dann eine Verbindung mit der Prinzipalserverinstanz her, und führen Sie manuell ein Failover zur Sitzung aus. Beim Failover wird die aktualisierte Serverinstanz zum Prinzipalserver dieser Sitzung, und der frühere Prinzipalserver wird zum Spiegelserver.
Ziel dieses Schritts ist es, dass eine andere Serverinstanz zum Spiegelserver in jeder Spiegelungssitzung wird, an der sie als Partner beteiligt ist.
Nach dem Failover sollten Sie den DBCC CHECKDB-Befehl für die Prinzipaldatenbank ausführen.
Installieren Sie das Service Pack bzw. den Hotfix auf allen Serverinstanzen, die nun als Spiegelserver in allen Spiegelungssitzungen fungieren, an denen sie als Partner beteiligt sind. Möglicherweise müssen an dieser Stelle mehrere Server aktualisiert werden.
Wichtig Es ist möglich, dass in einer komplexen Spiegelungskonfiguration manche Serverinstanz nach wie vor der ursprüngliche Prinzipalserver in mindestens einer Spiegelungssitzung ist. Wiederholen Sie die Schritte 2 bis 4 für diese Serverinstanzen, bis alle beteiligten Instanzen aktualisiert sind.
Setzen Sie die Spiegelungssitzung fort.
Hinweis Ein automatisches Failover funktioniert erst, nachdem der Zeuge aktualisiert wurde.
Installieren Sie die Service Packs bzw. Hotfixes auf allen übrigen Serverinstanzen, die als Zeuge in allen Spiegelungssitzungen fungieren. Nachdem ein aktualisierter Zeuge wieder an einer Spiegelungssitzung teilnimmt, ist das Ausführen eines automatischen Failovers wieder möglich. Möglicherweise müssen an dieser Stelle mehrere Server aktualisiert werden.
So ändern Sie den Modus einer Sitzung wieder in den Modus für hohe Leistung
Sie haben die folgenden Möglichkeiten, um den Modus einer Sitzung wieder in den Modus für hohe Leistung zu ändern:
In SQL Server Management Studio: Ändern Sie im Dialogfeld Datenbankeigenschaften auf der Seite Spiegelung die Option Betriebsmodus in Hohe Leistung (asynchron).
In Transact-SQL: Verwenden Sie ALTER DATABASE, um die Transaktionssicherheit auf OFF festzulegen.
So fügen Sie einen Zeugen wieder einer Spiegelungssitzung hinzu
Im Modus für hohe Sicherheit können Sie den Zeugen in jeder Spiegelungssitzung wiederherstellen.
So stellen Sie den Zeugen wieder her
Siehe auch
Aufgaben
Starten des Datenbankspiegelungs-Monitors (SQL Server Management Studio)
Anzeigen des Status einer gespiegelten Datenbank (SQL Server Management Studio)
Verweis
ALTER DATABASE-Datenbankspiegelung (Transact-SQL)
Konzepte
Datenbankspiegelung (SQL Server)
Betriebsmodi der Datenbankspiegelung
Rollenwechsel während einer Datenbank-Spiegelungssitzung (SQL Server)