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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの保守 » SQL Anywhere の高可用性 » データベース・ミラーリングの設定 » ミラー・サーバで実行されているデータベースへの読み込み専用アクセスの設定

 

ミラー・データベースに対するクエリの実行

ミラー・データベースに対して実行されたクエリは、指定された独立性レベルに応じてロックを設定できます。プライマリ・サーバからの操作の適用がロックによって妨害される場合は、ロックを保持している接続のトランザクションがロールバックされ、その接続用の開いたカーソルがある場合は閉じられます。独立性レベル 0 で実行されているアプリケーションは、ロー・ロックを追加しませんが、スキーマ・ロックは取得します。プライマリ・サーバからの操作の適用がスキーマ・ロックによって妨害される場合は、ミラー・データベース上のトランザクションがロールバックされます。

データベースの一貫したビューが必要な (そのため、独立性レベル 0 を使用できない) アプリケーションでは、スナップショット・アイソレーションの使用を検討する必要があります。そのためには、allow_snapshot_isolation オプションを On に設定します。このオプションはプライマリ・サーバとミラー・サーバの両方に対して有効なので、スナップショット・アイソレーションに関連するコストを考慮する必要があります。

ミラー・データベースへの接続は、プライマリ・サーバに対するトランザクションの影響を受けます。これらの操作は、その後ミラー・サーバによって処理され適用されるからです。プライマリ・サーバ上の更新がコミットされてから、その更新がミラー・サーバ上で使用可能になるまでには、わずかな遅延があります。通常この遅延は短時間ですが、ミラー・サーバ上で実行されるデータベースにアクセスするときは、このことを念頭においてください。

参照