データベース ミラーリング エンドポイント (SQL Server)

Always On 可用性グループまたはデータベース ミラーリングに参加するには、サーバー インスタンス専用の専用 データベース ミラーリング エンドポイントが必要です。 このエンドポイントの用途は特殊で、他のサーバー インスタンスからの接続を受信するためにのみ使用されます。 特定のサーバー インスタンスでは、他のサーバー インスタンスに対するすべての Always On 可用性グループまたはデータベース ミラーリング接続で、1 つのデータベース ミラーリング エンドポイントが使用されます。

データベース ミラーリング エンドポイントでは、伝送制御プロトコル (TCP) を使用して、データベース ミラーリング セッションに参加するサーバー インスタンス間、または可用性レプリカをホストするサーバー インスタンス間でメッセージを送受信します。 データベース ミラーリング エンドポイントでは、一意な TCP ポート番号でリッスンします。

Note

プリンシパル サーバーまたはプライマリ レプリカへのクライアント接続では、データベース ミラーリング エンドポイントは使用されません。

Note

データベース ミラーリング機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。 新しい開発作業ではこの機能を使用しないでください。代わりに、データベース ミラーリングを現在使用しているアプリケーションを Always On 可用性グループを使用するように変更することを計画してください。

サーバー ネットワーク アドレス

サーバー インスタンスのネットワーク アドレス (サーバー インスタンスの サーバー ネットワーク アドレス または エンドポイント URL) には、そのサーバー インスタンスのホスト コンピューターのシステム名とドメイン名以外に、そのサーバー インスタンスのエンドポイントのポート番号も含まれています。 このポート番号は、特定のサーバー インスタンスを一意に識別します。

次の図に、同じサーバー上の 2 つのサーバー インスタンスを一意に識別するしくみを示します。 どちらのサーバー インスタンスのサーバー ネットワーク アドレスにも、同じシステム名 MYSYSTEMとドメイン名 Adventure-Works.MyDomain.comが含まれています。 システム側でサーバー インスタンスまでルーティングできるように、サーバー ネットワーク アドレスには、特定のサーバー インスタンスのミラーリング エンドポイントに関連付けられたポート番号が含まれています。

既定のインスタンスのサーバー ネットワーク アドレス

既定では、SQL Serverのインスタンスにはデータベース ミラーリング エンドポイントは含まれません。 これらは、データベース ミラーリング セッションの設定の一環として、手動で作成する必要があります。 データベース ミラーリングにかかわる各サーバー インスタンスには、システム管理者が、別個のエンドポイントを作成する必要があります。 特定のコンピューター上の複数のサーバー インスタンスにデータベース ミラーリング エンドポイントが必要な場合は、エンドポイントごとに異なるポート番号を指定します。

Important

SQL Server を実行しているコンピューターでファイアウォールを使用している場合は、エンドポイントで指定されているポートを送信と受信の両方の接続で使用できるようにファイアウォールを構成する必要があります。

データベース ミラーリングと Always On 可用性グループの場合、認証と暗号化はエンドポイントで構成されます。 詳細については、「データベース ミラーリングと AlwaysOn 可用性グループのトランスポート セキュリティ (SQL Server)」を参照してください。

Important

使用中のデータベース ミラーリング エンドポイントは再構成しないでください。 サーバー インスタンスは、互いのエンドポイントを使用して、他のシステムの状態を調べます。 エンドポイントを再構成すると、そのエンドポイントは再起動されます。これにより、他のサーバー インスタンスではエラーが発生したように見えることがあります。 これは、パートナー上のエンドポイントを再構成するとフェールオーバーが発生する可能性がある自動フェールオーバー モードでは、特に重要です。

データベース ミラーリング エンドポイントの認証の種類の決定

次のように、サーバー インスタンスのSQL Server サービス アカウントによって、データベース ミラーリング エンドポイントに使用できる認証の種類が決まります。

  • サーバー インスタンスがドメイン サービス アカウントで実行中の場合は、データベース ミラーリング エンドポイントで Windows 認証を使用できます。 すべてのサーバー インスタンスが同じドメイン ユーザー アカウントとして実行されている場合、両方の マスター データベースに正しいユーザー ログインが自動的に存在します。 可用性データベースのセキュリティ構成が単純化されるので、こちらの方法をお勧めします。

    可用性グループの可用性レプリカをホストしているサーバー インスタンスが異なるアカウントとして実行される場合は、各アカウントのログインを他のサーバー インスタンスの マスター に作成する必要があります。 その後、そのログインには、そのサーバー インスタンスのデータベース ミラーリング エンドポイントに接続するための CONNECT アクセス許可が付与されている必要があります。 詳細については、「データベース ミラーリングまたは AlwaysOn 可用性グループのログイン アカウントの設定 (SQL Server)」を参照してください

    サーバー インスタンスで Windows 認証を使用する場合は、 Transact-SQL、PowerShell、または新しい可用性グループ ウィザードを使用して、データベース ミラーリング エンドポイントを作成できます。

    Note

    可用性レプリカをホストするサーバー インスタンスにデータベース ミラーリング エンドポイントがない場合、新しい可用性グループ ウィザードは、Windows 認証を使用するデータベース ミラーリング エンドを自動的に作成できます。 詳細については、「 可用性グループ ウィザードの使用 (SQL Server Management Studio)」を参照してください。

  • サービス インスタンスがビルトイン アカウント (Local System、Local Service、Network Service など) で実行されている場合、または、非ドメイン アカウントで実行されている場合は、エンドポイント認証に証明書を使用する必要があります。 データベース ミラーリング エンドポイントに証明書を使用している場合、システム管理者は、送信接続と受信接続の両方で証明書を使用するように各サーバー インスタンスを構成する必要があります。

    証明書を使用してデータベース ミラーリング セキュリティを構成するための自動化された方法はありません。 CREATE ENDPOINT Transact-SQL ステートメントまたは New-SqlHadrEndpoint PowerShell コマンドレットを使用する必要があります。 詳細については、「 CREATE ENDPOINT (Transact-SQL)」を参照してください。 サーバー インスタンスで証明書認証を有効にする方法については、「 データベース ミラーリング エンドポイントに証明書を使用する (Transact-SQL)」を参照してください。

関連タスク

データベース ミラーリング エンドポイントを構成するには

データベース ミラーリング エンドポイントに関する情報を表示するには

こちらもご覧ください

データベース ミラーリングと AlwaysOn 可用性グループのトランスポート セキュリティ (SQL Server)
データベース ミラーリング構成のトラブルシューティング (SQL Server)
sys.dm_hadr_availability_replica_states (Transact-SQL)
sys.dm_db_mirroring_connections (Transact-SQL)