データベース ミラーリング (SQL Server Compact)
SQL Server と SQL Server Compact 3.5 の間のマージ レプリケーション用に、レプリケーションおよびデータベース ミラーリング (フェールオーバー) がサポートされています。データベース ミラーリングを行うには、ドメイン アカウントで SQL Server サービスを実行する必要があります。 既定では、ドメイン アカウントは、ローカル システム アカウントに属しています。
SQL Server におけるデータベース ミラーリングの設定
SQL Server でデータベース ミラーリングを設定するには、SQL Server 2008 R2 オンライン ブックのトピック「レプリケーションおよびデータベース ミラーリング」の手順に従います。
インターネット インフォメーション サービス (IIS) サーバーの設定
IIS でデータベース ミラーリングを設定するには、SQL Server Compact 3.5 オンライン ブックの次のトピックを参照してください。
データベース ミラーリング用クライアントとしての SQL Server Compact 3.5
SQL Server Compact 3.5 をデータベース ミラーリングのクライアントとして使用する場合、次のシナリオがサポートされています。
注意
プリンシパル (P)、ミラー (M)、ミラーリング監視 (W) の説明については、SQL Server 2008 R2 オンライン ブックのトピック「レプリケーションおよびデータベース ミラーリング」を参照してください。
テスト ケースの説明 |
初期同期 |
増分同期 |
---|---|---|
プリンシパルと同期 - 両方が稼働 |
成功 |
成功 |
プリンシパルと同期 - ミラーがダウン |
成功 |
成功 |
フェールオーバー - プリンシパルがダウンし、ミラーがプリンシパルになり、プリンシパルがミラーになります。
以前のプリンシパル (現在のミラー) と同期 - 両方が稼働 |
失敗 |
成功 |
ミラーと同期 - プリンシパルがダウン |
失敗 |
成功 |
主なポイントを次に示します。
マージ サブスクリプションが作成された後、SqlCeReplication.Publisher はフェールオーバーが発生しても変更されません。つまり、プリンシパルがミラーに変わっても、SqlCeReplication.Publisher は常にマージ サブスクリプション作成時のプリンシパルを指しています。
同期は常にプリンシパルに対して実行されます。プリンシパルがダウンすると、自動的に新しいプリンシパルへのマージ レプリケーションのフェールオーバーが行われます。
フェールオーバーが発生したときに、サブスクリプションのプロパティを変更する必要はありません。
SQL Server Compact 3.5 は、複数のバージョンの SQL Server との同期を実行できます。SQL Server Compact 3.5 は SQL Server に接続して、バージョンを確認します。バージョンの確認後、マージ サブスクリプションを作成するために、SQL Server Compact 3.5 によって該当するバージョンのレプリケーション クライアント コンポーネントが特定されます。サブスクリプションが作成された後、パブリッシャの詳細が保存されるため、パブリッシャに直接接続しなくても増分同期が可能になります。
ミラーでは、直接の OLEDB 接続は許可されていません。
フェールオーバーが発生した場合、サブスクリプションを作成するには、新しいプリンシパルまたは現在のプリンシパルをパブリッシャとして指定する必要があります。以前のプリンシパル (現在のミラー) をパブリッシャーに指定すると、そのノードが稼働しているかどうかにかかわらず、初期サブスクリプションは失敗します。この失敗は、ポイント 4 および 5 に記載されている理由によるものです。
ここに記載された情報は、サポートされているバージョンの SQL Server に適用されます。詳細については、「必要なハードウェアとソフトウェア」を参照してください。