Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Pflege Ihrer Datenbank » SQL Anywhere High Availability-Option ( für hohe Verfügbarkeit) » Datenbankspiegelung einrichten

 

Schreibgeschützten Zugriff auf eine Datenbank konfigurieren, die auf dem Spiegelserver läuft

Bei einer Datenbankspiegelung können Sie auf die Datenbank, die auf dem Spiegelserver läuft, mit einer schreibgeschützten Verbindung zugreifen. Diese Funktion ist nützlich, wenn Sie Berichterstellungs- oder andere Vorgänge auslagern wollen, die einen schreibgeschützten Zugriff auf diese Datenbank erfordern.

In einem Spiegelsystem wissen Sie nicht notwendigerweise, welche Datenbank als Primärserver und welche als Spiegelserver verwendet wird. Wenn Sie in der Lage sein wollen, eine Verbindung mit der Datenbank herzustellen, die auf dem Spiegelserver läuft, verwenden Sie die Option -sm, wenn Sie den Datenbankserver starten. Dies ermöglicht es Verbindungen, den Spiegelserver zu finden, indem sie einen Servernamen übergeben, der für den Zugriff auf die schreibgeschützte Spiegeldatenbank verwendet wird. Der durch die Option -sm angegebene Servername ist nur aktiv, wenn der Datenbankserver als Spiegel für die Datenbank verwendet wird. Üblicherweise würden Sie die Option -sm bei beiden Datenbankservern angeben, weil Sie nicht wissen, welcher Server als Primär- oder Spiegelserver verwendet wird. Beispiel: Die Option -sm teilt dem Datenbankserver mit, "mysamplemirror" als alternativen Servernamen zu verwenden, wenn mit der Datenbank verbunden wird, die auf dem Spiegelserver läuft:

dbsrv11 -n myserver satest.db sample.db -sn mysampleprimary 
-sm mysamplemirror
-xp "partner=( ENG=server2;LINKS=TCPIP( PORT=2637;TIMEOUT=1 ) );auth=abc;
arbiter=( ENG=arbiter;LINKS=TCPIP;( PORT=2639;TIMEOUT=1 ) );mode=sync"

Jeder Versuch, eine Änderung an der Datenbank durchzuführen, bewirkt einen Fehler, was dem Verhalten entspricht, wenn eine Datenbank als schreibgeschützt unter Verwendung der Option -r gestartet wird. Sie können Vorgänge auf temporären Tabellen durchführen, aber es werden keine Ereignisse auf der Spiegeldatenbank ausgelöst. Das Auslösen von Ereignissen startet erst, nachdem ein Failover vom Primärserver auf den Spiegelserver stattgefunden hat. Die Ereignisse DatabaseStart und MirrorFailover werden erst zu diesem Zeitpunkt ausgelöst, falls sie festgelegt wurden. Weitere Hinweise finden Sie unter Systemereignisse verstehen.

Verbindungen zur Spiegeldatenbank bleiben aufrecht, wenn ein Failover auftritt und der Spiegelserver zum Primärserver wird. Nach einem Failover kann eine Verbindung Änderungen an der Datenbank durchführen. Sie können den Wert der Datenbankeigenschaft ReadOnly abfragen, um zu bestimmen, ob die Datenbank, mit der Sie verbunden sind, aktualisierbar ist:

SELECT DB_PROPERTY( 'ReadOnly' );
Siehe auch

Abfragen in einer Spiegeldatenbank ausführen