web-dev-qa-db-ja.com

SQL Serverの常時接続またはミラーリングとログ配布

2つのデータセンターがあり、サイト間VPNで接続された2つのデータセンター間のping時間が2ミリ秒です。プライマリデータセンターには2台のサーバーがあり、セカンダリデータセンターには単一のデータベースサーバーがあります。すべてのサーバーは、Windows 2012 R2を実行している仕様と構成が同一であり、SQL Server 2016 Enterpriseライセンスが2つあります。 1つはメインサイト+フェイルオーバー用、もう1つはセカンダリサイト用です。

問題は、どのテクノロジーを使用すべきかということです。メインデータセンターの2つのノード間の同期レプリケーションとセカンダリデータセンターへの非同期レプリケーションを備えた常時稼働の可用性グループ。もう1つのオプションは、メインデータセンターでミラーリングを使用してから、セカンダリデータセンターへのログ配布を行うことです。唯一の注意点は、透過的データ暗号化(TDE)を使用する必要があるため、エンタープライズライセンスです。

私たちの運用チームは現在2人で成長していますが、DBAはまだ完全には割り当てられていません。私は両方のテクノロジーのセットアップ方法を知っていますが、運用環境ではミラーリングとログ配布のみを使用しています。

人々は何をお勧めしますか?常にオンになっているように見えますが、ミラーリングとログ配布がはるかに簡単である場合、世話をするために多くのDBAリソースが必要であるという記事をいくつか読んだことがあります。

4
Ollie

(SANミラーリングとは対照的に)ミラーリングと言うときにデータベースミラーリングを参照していた場合は、それを使わないでください。これは 2012年以降非推奨 なので、将来のリリースでは完全に削除される可能性があります。

Always On可用性グループに移動します。 DBAオーバーヘッドの違いはほとんど同じです。異なるのは、私見ですが、学習曲線です。ログ配布は、学習、実装、および操作が非常に簡単です。これは主に、MSIT DBA(数十年前)によって、後に製品化されたシンプルで柔軟なDRソリューションとして最初に作成されたためです。 DBミラーリングは、いくつかの強力な拡張機能を備えた同じ概念を適用します(たとえば、バックアップではなくブロックを配布すると、パフォーマンスが大幅に向上します)。

Always On AGはこれらの概念を拡張しますが、 追加された依存関係 を使用および管理する方法をユーザーが習得する必要がある(WSFCなど)。ロケットサイエンスではありませんが、まだ十分に理解していない場合は、ピックアップに少し時間がかかる場合があります。ただし、それを理解すると、利点はかなり重要になります(リソースのグループ化、読み取り可能なセカンダリ、はるかに高い転送パフォーマンスが上位にあります)。

5
SQLmojoe

サーバー上の理由から、Always on可用性グループを使用することをお勧めします。

  1. データベースミラーリングはSQL Server 2012で非推奨になり、将来のバージョンでは削除されるため、新しい開発では使用しないことをお勧めします

  2. AOAグループは、ミラーリングでは取得できない機能を提供します。 AoAグループの使用は、クラスタリングとミラーリングの両方を組み合わせたものと似ています。

  3. プライマリサーバーからの負荷を最小限に抑えるセカンダリノードからクエリを実行したり、レポートを実行したりできます。

  4. よりフェイルオーバーの管理。ミラーリングとは異なり、AoAでは単一データベースのフェイルオーバーが発生しない場合があります。

  5. それはより良いパフォーマンスなどを持っています……

監視とセットアップのタスクが少し必要になる可能性があるので、同意しますが、それだけの価値はあります。