現在オフラインです。再接続するためにインターネットの接続を待っています

データベースミラーリングをクロスデータベース トランザクション または分散トランザクションと併用する場合の問題

はじめに
この資料では、Microsoft SQL Server 2005 Service Pack 1 で利用できるデータベース ミラーリングをクロスデータベース トランザクション、または分散トランザクションと併用する場合の問題を説明します。
詳細
SQL Server 2005 Service Pack 1 を使用したデータベース ミラーリングでは、フェールオーバーが発生するタイミングによってトランザクションの原子性 (Atomicity) を保障できない場合があります。トランザクションの原子性を保証できない可能性がある条件は、以下の通りです。
  • クロスデータベース トランザクション : 1 つのトランザクション内で複数のデータベースを更新する処理。
  • 分散トランザクション : Microsoft Distributed Transaction Coordinator (MS DTC) を使用し、2 フェーズコミットを行う処理。


クロスデータベース トランザクションと併用した場合の例

環境

  • データベース ミラーリングを構成したデータベース A
  • 別のデータベース B

事例

一つのトランザクション内で、データベース A とデータベース B のデータを更新してコミットします。トランザクションのコミット中に、データベース A で何らかの障害が発生し、ミラーサーバへのフェールオーバーが行われます。フェールオーバー前にトランザクションログがミラーサーバへ送信されなかった場合、フェールオーバー後のトランザクションの状態は、データベース A ではロールバック、データベース B ではコミットされます。

上記のような条件下において高可用性が必要なシステムでは、マイクロソフト クラスタサービス (MSCS) のご利用をご検討ください。詳細については、次のマイクロソフト Web サイトを参照してください。
プロパティ

文書番号:926150 - 最終更新日: 10/02/2006 08:02:33 - リビジョン: 1.1

  • Microsoft SQL Server 2005 Service Pack 1
  • kbharmony kbexpertiseadvanced kbinfo kbhowto KB926150
フィードバック