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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー データベース管理 » データベースのメンテナンス » SQL Anywhere の高可用性 » データベースミラーリングシステムの設定

 

ミラーサーバーで実行されているデータベースへの読み込み専用アクセスの設定

データベースミラーリングを使用するときは、読み込み専用の接続を使用して、ミラーサーバー上で実行されているデータベースにアクセスできます。この機能は、このデータベースへの読み込み専用アクセスを必要とするレポートなどの操作の負荷を軽減したい場合に役立ちます。

ミラーリングシステムでは、どのデータベースサーバーがプライマリサーバーで、どのデータベースサーバーがミラーサーバーとして動作しているかが不明なこともあります。ミラーサーバー上で実行されているデータベースに接続できるようにするには、タイプ MIRROR を指定してミラーサーバーを定義します。このオプションで、読み込み専用のミラーデータベースへのアクセスに使用するサーバー名を指定すると、接続がミラーサーバーを見つけられるようになります。この方法で指定したサーバー名は、そのデータベースサーバーがデータベースのミラーとして動作している場合のみアクティブになります。たとえば、次の文では、ミラーサーバー上で実行されているデータベースに接続するときに使用する代替サーバー名として mysamplemirror を定義します。

CREATE MIRROR SERVER mysamplemirror
AS MIRROR
connection_string='SERVER=mysamplemirror;HOST=winxp-1:6871,winxp-2:6872';

データベースに変更を加えようとするとエラーが発生します。これは、-r オプションを使用して読み込み専用でデータベースを起動した場合と同じ動作です。テンポラリテーブルに対して操作を実行することはできますが、ミラーデータベース上ではイベントは起動しません。イベントの起動は、プライマリサーバーからミラーサーバーへのフェールオーバーが発生するまで始まりません。DatabaseStart と MirrorFailover のイベントは (定義されている場合)、その時点で起動します。システムイベントを参照してください。

フェールオーバーが発生してミラーサーバーがプライマリサーバーになっても、ミラーデータベースへの接続は維持されます。フェールオーバー後は、接続によってデータベースに変更を加えることができます。接続先のデータベースが更新可能かどうかを確認するには、ReadOnly データベースプロパティの値を問い合わせてください。

SELECT DB_PROPERTY( 'ReadOnly' );
 参照

ミラーデータベース問い合わせ