次の方法で共有


データベース ミラーリングと SQL Server フェールオーバー クラスター インスタンス

フェールオーバー クラスターは、クラスターのノードに参加している Microsoft Cluster Service (MSCS) クラスター グループ (リソース グループと呼ばれます) 内の 1 つ以上の物理ディスクの組み合わせです。 リソース グループは、SQL Server のインスタンスをホストするフェールオーバー クラスター化インスタンスとして構成されます。 SQL Server フェールオーバー クラスター化されたインスタンスは、単一のコンピューターであるかのようにネットワーク上に表示されますが、あるノードが使用できなくなった場合に、あるノードから別のノードへのフェールオーバーを提供する機能があります。 詳細については、「 AlwaysOn フェールオーバー クラスター インスタンス (SQL Server)」を参照してください。

フェールオーバー クラスターは、単一データベースの高可用性サポートを提供するデータベース ミラーリングとは対照的に、Microsoft SQL Server インスタンス全体の高可用性サポートを提供します。 データベース ミラーリングは、フェールオーバー クラスター間、およびフェールオーバー クラスターと非クラスター化ホスト間でも機能します。

データベース ミラーリングの概要については、 データベース ミラーリング (SQL Server) に関するページを参照してください。

ミラーリングとクラスタリング

通常、ミラーリングをクラスタリングと共に使用する場合、プリンシパル サーバーとミラー サーバーの両方がクラスター上に存在し、プリンシパル サーバーは 1 つのクラスターのフェールオーバー クラスター インスタンスで実行され、ミラー サーバーは別のクラスターのフェールオーバー クラスター インスタンスで実行されます。 ただし、1 つのパートナーがクラスターのフェールオーバー クラスター インスタンスに存在し、もう一方のパートナーが別のクラスター化されていないコンピューターに存在するミラーリング セッションを確立できます。

クラスター フェールオーバーによってプリンシパル サーバーが一時的に使用できなくなった場合、クライアント接続はデータベースから切断されます。 クラスターのフェールオーバーが完了すると、 クライアントは、オペレーティング モードに応じて、同じクラスター上のプリンシパル サーバー、または別のクラスターまたは非クラスター化されたコンピューター上で再接続できます。 そのため、クラスター環境でデータベース ミラーリングを構成する方法を決定する場合、ミラーリングに使用する動作モードは重要です。

High-Safety モードセッション(自動フェールオーバー機能付き)

自動フェールオーバーを使用して高い安全性モードでデータベースをミラーリングする場合は、パートナーに対して 2 クラスター構成をお勧めします。 この構成では、最大可用性が提供されます。 ミラーリング監視サーバーは、3 つ目のクラスターまたはクラスター化されていないコンピューター上に存在できます。

現在のプリンシパル サーバーを実行しているノードが失敗した場合、クラスターが別のノードにフェールオーバーしている間、データベースの自動フェールオーバーは数秒以内に開始されます。 データベース ミラーリング セッションは、他のクラスターまたはクラスター化されていないコンピューター上のミラー サーバーにフェールオーバーし、元のミラー サーバーがプリンシパル サーバーになります。 新しいプリンシパル サーバーは、データベースのコピーをできるだけ早くロールフォワードし、プリンシパル データベースとしてオンラインにします。 クラスター のフェールオーバーが完了すると (通常は数分かかります)、以前はプリンシパル サーバーだったフェールオーバー クラスター化されたインスタンスがミラー サーバーになります。

次の図は、ミラーリング監視サーバー (自動フェールオーバーをサポート) を使用して高い安全性モードで実行されているミラーリング セッション内のクラスター間の自動フェールオーバーを示しています。

クラスターでのフェールオーバー

ミラーリング セッションの 3 つのサーバー インスタンスは、Cluster_ACluster_B、Cluster_Cの 3 つの異なるクラスターに存在します。 各クラスターでは、SQL Server の既定のインスタンスが SQL Server フェールオーバー クラスター インスタンスとして実行されています。 ミラーリング セッションが開始されると、 Cluster_A 上のフェールオーバー クラスター化されたインスタンスがプリンシパル サーバーになり、 Cluster_B上の フェールオーバー クラスター化されたインスタンスがミラー サーバーになり、 Cluster_C 上のフェールオーバー クラスター化されたインスタンスがミラーリング セッションのミラーリング監視サーバーになります。 最終的に、 Cluster_A のアクティブ ノードが失敗し、プリンシパル サーバーが使用できなくなります。

クラスターがフェールオーバーする前に、ミラー サーバーは証人の助けを借りてプリンシパル サーバーの損失を検出します。 ミラー サーバーはデータベースをロールフォワードし、可能な限り迅速に新しいプリンシパル データベースとしてオンラインにします。 Cluster_Aフェールオーバーが完了すると、以前のプリンシパル サーバーがミラー サーバーになり、Cluster_B上の現在のプリンシパル データベースとデータベースが同期されます。

自動フェールオーバーを使用しない High-Safety モード セッション

自動フェールオーバーなしで高い安全性モードでデータベースをミラーリングする場合、現在のプリンシパル サーバーを実行しているノードが失敗した場合、クラスター内の別のノードがプリンシパル サーバーとして機能します。 クラスターは使用できませんが、データベースは使用できないことに注意してください。

High-Performance モード セッション

データベースをハイ パフォーマンス モードでミラーリングする場合は、クラスターのフェールオーバー クラスター インスタンスにプリンシパル サーバーを配置し、リモートの場所にあるクラスター化されていないサーバーにミラー サーバーを配置することを検討してください。 クラスターが別のノードにフェールオーバーした場合、フェールオーバー クラスター化されたインスタンスはミラーリング セッションのプリンシパル サーバーとして続行されます。 クラスター全体に問題がある場合は、ミラー サーバーにサービスを強制できます。

新しい SQL Server フェールオーバー クラスターを設定するには

データベース ミラーリングを設定するには

こちらもご覧ください

データベース ミラーリング (SQL Server)
データベース ミラーリングの動作モード
AlwaysOn フェールオーバー クラスター インスタンス (SQL Server)