Database Mirroring Witness

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 stellt der Zeuge die Datenbank nicht bereit. Die Unterstützung des automatischen Failovers ist die einzige Aufgabe des Zeugen.

Hinweis

Im Modus für hohe Leistung kann sich der Zeuge negativ auf die Verfügbarkeit auswirken. Wenn ein Zeuge für eine Datenbank-Spiegelungssitzung konfiguriert ist, muss der Prinzipalserver mindestens mit einer der anderen Serverinstanzen verbunden sein, also 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 wird beim Modus für hohe Leistung dringend empfohlen, die Zeugeneinstellung immer auf OFF zu belassen. 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:

Verwenden 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. Das ist darauf zurückzuführen, dass als Partner nur leistungsfähige Computer mit entsprechender Hardware zur Unterstützung einer Produktionsdatenbank verwendet werden können, während der Zeuge unter jedem verfügbaren Windows-System ausgeführt werden kann, das Unterstützung für SQL Serverbietet.

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 kann, das eine der Editionen von SQL Serverunterstü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 and Software Requirements for Installing 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 die Verbindung zwischen dem Spiegelserver und dem Zeugen und auch die Verbindung zwischen dem Spiegelserver und dem Prinzipalserver getrennt ist, ist unabhängig vom Status 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

Weitere Informationen

Rollenwechsel während einer Datenbank-Spiegelungssitzung (SQL Server)
Database Mirroring Operating Modes
Quorum: Auswirkungen eines Zeugen auf die Datenbankverfügbarkeit (Datenbankspiegelung)
Mögliche Fehler während der Datenbankspiegelung
Spiegelungsstatus (SQL Server)