自動フェイルオーバーなしの高安全性同期モードを使用して、SQL 2008でデータベースミラーリング設定を構成しました。 Witnessインスタンスはありません。
高可用性に関しては、ミラーリングがログ配布(より高速でスムーズなフェイルオーバー)よりも優れた戦略であり、クラスタリング(ライセンスとハードウェアのコストのため)よりも安価であることを理解しています。
MSのドキュメントによると、フェイルオーバーを実行するには、プリンシパルデータベースにアクセスする必要があり、[ミラー]オプションで[フェイルオーバー]ボタンをクリックします。しかし、私はMirrorデータベースからこれを実行したいのですが、プリンシパルサーバーがダウンした場合に備えて、このすべての設定が行われているので、どのような利点があるでしょうか?
明らかに私は何かを逃しています。ミラーリングがサーバーのダウンタイムの解決策ではない場合(私が正しく理解していれば、クラスタリングのようになります)、高可用性の目的でミラーリングが役立つのはどの実用的な(つまり、実際の例)ケースですか?
ご返信ありがとうございます!本当に悟りが必要です。
簡単に言うと、自動フェイルオーバーなしで、プリンシパルサーバーから高安全モードでミラーをアクティブ化する必要があります。
この方法は、計画的な停止とメンテナンスに最適です。プリンシパルサーバーにアクセスしないとフェイルオーバーできないため、災害や計画外のダウンタイムのシナリオではあまり有益ではありません。
MSSQL Expressを実行している非常に低コストの古いコンピューターをモニターサーバーとして使用しています。 Windows XP pro)があります。モニターサーバーのタスクを実行するための小さなコンピューターを見つけることができると確信しています。MSSQLExpressの最小要件を満たすことができるものであれば問題ありません。
お役に立てれば。
プリンシパルがダウンした場合、ミラーデータベースを強制的にオンラインにできますが、プリンシパルでコミットされてミラーに到達しなかったトランザクションが失われるリスクがあります。
ALTER DATABASE YourDatabaseName SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
ミラーでそのクエリを実行すると、データベースが新しい(公開された)プリンシパルになります。以前のプリンシパルインスタンスがオンラインに戻ると、2つの間でミラーリングが一時停止されます。ミラーリングを手動で再度有効にする必要があります。この場合、前のミラーがオンラインに戻された方法が原因でデータが失われる可能性があるという警告が表示されます。