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 の高可用性 » データベースミラーリングシステムの設定 » ミラーサーバーで実行されているデータベースへの読み込み専用アクセスの設定

 

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

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

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

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

 参照