適用対象:SQL Server
自動フェールオーバーをサポートするには、データベース ミラーリング セッションが高い安全性モードで構成されている必要があります。また、このセッションに 監視サーバーと呼ばれる 3 番目のサーバー インスタンスを配置する必要もあります。 ミラーリング監視サーバーは、必要に応じて配置できる SQL Server のインスタンスです。ミラーリング監視サーバーを使用することにより、高い安全性モードのセッションのミラー サーバーが、自動フェールオーバーを開始するかどうかを決定できるようになります。 2 つのパートナーとは異なり、ミラーリング監視サーバーではデータベースの操作は行いません。 ミラーリング監視サーバーの唯一の役割は、自動フェールオーバーをサポートすることです。
注
高パフォーマンス モードでは、witness によって可用性に悪影響を与える可能性があります。 データベース ミラーリング セッションに対してウィットネスが構成されている場合、プリンシパル サーバーは、他方のサーバー インスタンスの少なくとも 1 つ、つまりミラー サーバー、ウィットネス、またはその両方に接続されている必要があります。 そうしないと、データベースが使用できなくなり、サービスの強制実行(データが失われる可能性があります)ができなくなります。 したがって、高パフォーマンスモードでは、witness は常に OFF に設定しておくことを強くお勧めします。 高パフォーマンス モードに対するミラーリング監視サーバーの影響については、「 データベース ミラーリングの動作モード」を参照してください。
次の図は、監視サーバーを使用した高い安全性モードのセッションを示しています。
このトピックの内容
複数のセッションで Witness を使用する
特定のサーバー インスタンスは、それぞれ異なるデータベースに対応している同時実行データベース ミラーリング セッションで、ミラーリング監視サーバーとして機能することができます。 セッションごとに異なるパートナーと行うことができます。 次の図は、それぞれ異なるパートナーとの 2 つのデータベース ミラーリング セッションで監視サーバーとなっているサーバー インスタンスを示しています。
1 つのサーバー インスタンスは、一部のセッションではミラーリング監視サーバーとして、他のセッションではパートナーとして、同時に機能することもできます。 ただし、実際には、サーバー インスタンスは通常、監視サーバーまたはパートナーのいずれかとして機能します。 これは、パートナーには実稼働データベースを支えるのに十分なハードウェアを備えた高性能なコンピューターが必要である一方、witness は SQL Server を実行できる利用可能な任意の Windows システムで動作できるためです。
ソフトウェアとハードウェアの推奨事項
witness は、パートナーとは別のコンピューターに配置することを強くお勧めします。 データベース ミラーリング パートナーは SQL Server Standard Edition および SQL Server Enterprise Edition でのみサポートされます。 これに対し、ミラーリング監視サーバーは、SQL Server Workgroup および SQL Server Express でもサポートされています。 以前のバージョンの SQL Serverからアップグレードしている間を除き、ミラーリング セッション内のすべてのサーバー インスタンスでは、同じバージョンの SQL Serverを実行している必要があります。 たとえば、SQL Server 2008 (10.0.x) のミラーリング構成からアップグレードする場合、SQL Server 2008 (10.0.x) のミラーリング監視サーバーは使用できますが、既存または新規の SQL Server 2008 R2 (10.50.x) 以降のミラーリング構成に追加することはできません。
ミラーリング監視サーバーは、これらの SQL Server エディションのいずれかをサポートする信頼性の高い任意のコンピューター システムで実行できます。 ただし、監視サーバーとして使用されるすべてのサーバー インスタンスは、実行している SQL Server Standard のバージョンに必要な最小構成を満たすことをお勧めします。 これらの要件の詳細については、「SQL Server 2016のハードウェアおよびソフトウェア要件」をご覧ください。
自動フェールオーバーにおけるウィットネスの役割
データベース ミラーリング セッションの間は、すべてのサーバー インスタンスが接続の状態を監視します。 パートナー間の接続が失われた場合、各パートナーは、現在どちらか一方のみがデータベースを提供していることを確認するために、監視サーバーに依存します。 同期されたミラー サーバーがプリンシパル サーバーへの接続を失っても、ミラーリング監視サーバーとの接続が維持されている場合、ミラー サーバーはミラーリング監視サーバーに問い合わせて、ミラーリング監視サーバーがプリンシパル サーバーへの接続を失ったかどうかを確認します。
プリンシパル サーバーがミラーリング監視サーバーに引き続き接続されている場合、自動フェールオーバーは発生しません。 プリンシパル サーバーは引き続きデータベースとして機能し、パートナーから再接続されるときに、その間蓄積したログ レコードをミラー サーバーに送信します。
監視サーバーもプリンシパル サーバーから切断されている場合、ミラー サーバーはプリンシパル データベースが利用不能になったことを認識します。 この場合、ミラー サーバーはすぐに自動フェールオーバーを開始します。
ミラー サーバーがミラーリング監視サーバーおよびプリンシパル サーバーの両方から切断されている場合、プリンシパル サーバーの状態にかかわらず、自動フェールオーバーは実行できません。
この少なくとも 2 つのサーバー インスタンスが接続されていなければならない要件を、 クォーラムと呼びます。 クォーラムは、常に1つのパートナーだけがデータベースを提供できるようにします。 クォーラムの動作およびセッションに対するクォーラムの影響については、「クォーラム: データベースの可用性にミラーリング監視サーバーが与える影響 (データベース ミラーリング)」を参照してください。
ウィットネスを追加または削除する
監視サーバーを追加するには
ミラーリング監視サーバーを削除するには
参照
データベース ミラーリング セッション中の役割の交代 (SQL Server)
データベース ミラーリングの動作モード
クォーラム: ウィットネスがデータベースの可用性に与える影響 (データベース ミラーリング)
データベース ミラーリング中に発生する可能性のあるエラー
ミラーリング状態 (SQL Server)