Datenbank-Spiegelungszeuge

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

HinweisHinweis

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 Asynchrone Datenbankspiegelung (Modus für hohe Leistung).

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

Spiegelungssitzung mit einem Zeugen

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 Server 2008 bietet.

Software- und Hardwareempfehlungen

Sie sollten den Zeugen unbedingt auf einem von den Partnern separaten Computer platzieren. Datenbankspiegelungspartner werden nur von SQL Server 2005 Standard Edition und höheren Versionen sowie von SQL Server 2005 Enterprise Edition und höheren Versionen unterstützt. Zeugen hingegen werden auch von SQL Server 2005 Workgroup Edition und höheren Versionen sowie von SQL Server 2005 Express Edition und höheren Versionen unterstützt. In SQL Server 2008 und höheren Versionen wird ein SQL Server 2005-Zeuge jedoch nur unterstützt, wenn Sie von einer SQL Server 2005-Spiegelungskonfiguration aktualisieren. Ein SQL Server 2005-Zeuge kann einer bestehenden oder neuen Spiegelungskonfiguration der Version SQL Server 2008 oder höher nicht hinzugefügt werden. In diesem Fall muss der Zeuge auf SQL Server 2008 oder einer höheren Version ausgeführt werden.

Ein Zeuge kann auf jedem zuverlässigen Computersystem ausgeführt werden kann, das Unterstützung für eine der Editionen von SQL Server bietet. 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 die Installation von SQL Server 2008 R2

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 Quorum bezeichnet. Durch das Quorum wird sichergestellt, dass die Datenbank jeweils immer nur von einem Partner bedient werden kann. Informationen zur Funktionsweise des Quorums und zu seinen Auswirkungen auf eine Sitzung finden Sie unter Quorum: Auswirkungen eines Zeugen auf die Datenbankverfügbarkeit.