Datenbankspiegelungszeuge

Gilt für:SQL Server

Zur Unterstützung eines automatischen Failovers muss eine Datenbank-Spiegelungssitzung im Modus für hohe Sicherheit konfiguriert sein und außerdem eine dritte Serverinstanz besitzen, die als Zeugebezeichnet wird. Der Zeuge ist eine optionale Instanz von SQL Server , die es dem Spiegelserver in einer Sitzung mit dem Modus für hohe Sicherheit ermöglicht, zu erkennen, ob ein automatisches Failover initiiert werden soll. Im Gegensatz zu den beiden Partnern bedient der Witness die Datenbank nicht. Die einzige Rolle des Zeugen besteht darin, das automatische Failover zu unterstützen.

Hinweis

Im Modus für hohe Leistung kann sich der Zeuge negativ auf die Verfügbarkeit auswirken. Wenn ein Zeuge für eine Datenbankspiegelungssitzung konfiguriert ist, muss der Hauptserver mindestens mit einer der beiden anderen Serverinstanzen verbunden sein: mit dem Spiegelserver oder dem Zeugen oder mit beiden. Andernfalls ist die Datenbank nicht mehr verfügbar und das Erzwingen des Diensts (mit möglichem Datenverlust) ist nicht möglich. Daher empfehlen wir für den Hochleistungsmodus dringend, Witness immer auf AUS zu lassen. Informationen zu den Auswirkungen eines Zeugen auf den Hochleistungsmodus finden Sie unter Betriebsmodi der Datenbankspiegelung.

In der folgende Abbildung wird eine Sitzung im Modus für hohe Sicherheit mit einem Zeugen dargestellt.

Datenbank-Spiegelungssitzung mit einem Zeugen

In diesem Thema:

Verwendung eines Zeugen in mehreren Sitzungen

Eine bestimmte Serverinstanz kann als Zeuge in gleichzeitigen Datenbank-Spiegelungssitzungen agieren – jeweils für eine unterschiedliche Datenbank. Verschiedene Sitzungen können dabei mit unterschiedlichen Partnern ablaufen. In der folgenden Abbildung ist eine Serverinstanz dargestellt, die Zeuge zweier Datenbank-Spiegelungssitzungen mit unterschiedlichen Partnern ist.

Serverinstanz als Zeuge für zwei Datenbanken

Eine einzelne Serverinstanz kann auch gleichzeitig in bestimmten Sitzungen als Zeuge und in anderen als Partner eingesetzt werden. In der Praxis fungiert eine Serverinstanz jedoch in der Regel entweder als Zeuge oder als Partner. Dies liegt daran, dass die Partner leistungsstarke Computer benötigen, die über ausreichend Hardware-Ressourcen für den Betrieb einer Produktionsdatenbank verfügen, während der Zeuge auf jedem verfügbaren Windows-System ausgeführt werden kann, das SQL Server unterstützt.

Software- und Hardwareempfehlungen

Sie sollten den Zeugen unbedingt auf einem von den Partnern separaten Computer platzieren. Datenbank-Spiegelungspartner werden nur von SQL Server Standard Edition und von SQL Server Enterprise Edition unterstützt. Zeugen hingegen werden auch von SQL Server Workgroup und SQL Server Express unterstützt. Außer während eines Upgrades von einer früheren Version von SQL Servermuss in einer Spiegelungssitzung auf allen Serverinstanzen dieselbe Version von SQL Serverausgeführt werden. Ein SQL Server 2008 10.0.x-Zeuge wird beispielsweise unterstützt, wenn Sie ein Upgrade von einer Spiegelungskonfiguration der Version SQL Server 2008 (10.0.x) durchführen, er kann jedoch keiner vorhandenen oder neuen Spiegelungskonfiguration der Version SQL Server 2008 R2 (10.50.x) oder höher hinzugefügt werden.

Ein Zeuge kann auf jedem zuverlässigen Computersystem ausgeführt werden, das eine dieser SQL Server-Editionen unterstützt. Es wird jedoch empfohlen, dass jede als Zeuge verwendete Serverinstanz der Mindestkonfiguration entspricht, die für die ausgeführte Version von SQL Server Standard Edition erforderlich ist. Weitere Informationen zu diesen Anforderungen finden Sie unter Hardware- und Softwareanforderungen für SQL Server 2016.

Rolle des Zeugen beim automatischen Failover

Während der gesamten Dauer einer Datenbank-Spiegelungssitzung überwachen alle Serverinstanzen ihren Verbindungsstatus. Werden die Partner voneinander getrennt, können Sie nur anhand des Zeugen sicherstellen, dass nur einer von ihnen aktuell die Datenbank bedient. Wenn ein synchronisierter Spiegelserver seine Verbindung mit dem Prinzipalserver verliert, jedoch weiterhin mit dem Zeugen verbunden bleibt, kontaktiert der Spiegelserver den Zeugen, um zu ermitteln, ob der Zeuge seine Verbindung mit dem Prinzipalserver verloren hat:

  • Wenn der Prinzipalserver weiterhin mit dem Zeugen verbunden ist, erfolgt kein automatisches Failover. Stattdessen bedient der Prinzipalserver weiterhin die Datenbank und sammelt Protokolldatensätze, die zum Spiegelserver gesendet werden, wenn die Verbindung zwischen den Partnern erneut hergestellt wird.

  • Wenn auch die Verbindung zwischen dem Zeugen und dem Prinzipalserver getrennt ist, weiß der Spiegelserver, dass die Prinzipaldatenbank nicht mehr verfügbar ist. In diesem Fall initiiert der Spiegelserver sofort ein automatisches Failover.

  • Wenn der Spiegelserver vom Zeugen und auch vom Prinzipalserver getrennt ist, ist unabhängig vom Zustand des Prinzipalservers kein automatisches Failover möglich.

Die Anforderung, dass mindestens zwei der Serverinstanzen verbunden sein müssen, wird als Quorumbezeichnet. Durch das Quorum wird sichergestellt, dass die Datenbank jeweils immer nur von einem Partner bedient werden kann. Informationen zur Funktionsweise des Quorums und zu den Auswirkungen auf eine Sitzung finden Sie unter Quorum: Auswirkungen eines Zeugen auf die Datenbankverfügbarkeit (Datenbankspiegelung).

So fügen Sie einen Zeugen hinzu oder entfernen ihn

So fügen Sie einen Zeugen hinzu

So entfernen Sie den Zeugen

Siehe auch

Rollenwechsel während einer Datenbank-Spiegelungssitzung (SQL Server)
Betriebsmodi für Datenbankspiegelung
Quorum: Wie ein Zeuge die Datenbankverfügbarkeit beeinflusst (Datenbankspiegelung)
Mögliche Fehler während der Datenbankspiegelung
Spiegelungsstatus (SQL Server)