ログイン アカウントの設定 - データベース ミラーリングの AlwaysOn 可用性
適用対象: SQL Server
2 つのサーバー インスタンスが互いにもう一方の データベース ミラーリング エンドポイント であるポイントに接続するには、各インスタンスのログイン アカウントがもう一方のインスタンスにアクセスできる必要があります。 また、各ログイン アカウントには、他方のインスタンスのデータベース ミラーリング エンドポイントへの接続権限も必要です。
この要件による影響は、サーバー インスタンスを同じドメイン ユーザー アカウントとして実行しているかどうかによって異なります。
同じドメイン ユーザー アカウントでサーバー インスタンスを実行した場合は、自動的に両方の マスター データベースに正しいユーザー ログインが存在します。 このため、データベース ミラーリングと Always On 可用性グループのセキュリティ構成が単純化されます。
異なるユーザー アカウントとしてサーバー インスタンスを実行している場合は、プリンシパル サーバーまたはプライマリ レプリカをホストするサーバー インスタンスに対するユーザー ログインを、ミラー サーバーをホストするサーバー インスタンスまたはセカンダリ レプリカをホストするすべてのサーバー インスタンスに手動で再現する必要があります。 詳細については、この後の「 異なるアカウントのログインの作成 」および「 接続権限の許可」を参照してください。
重要
より安全な環境を作成するには、各サーバー インスタンスに対して個別のドメイン アカウントを使用することを検討してください。
異なるアカウントのログインの作成
2 つのサーバー インスタンスが異なるアカウントで実行される場合、システム管理者は CREATE LOGIN Transact-SQL ステートメントを使用して、リモート インスタンスのスタートアップ サービス アカウント用にログインを作成する必要があります。このログインは、各サーバー インスタンスに作成します。 詳細については、「CREATE LOGIN (Transact-SQL)」を参照してください。
重要
ドメイン アカウント以外で SQL Server を実行する場合、証明書を使用する必要があります。 詳しくは、「データベース ミラーリング エンドポイントでの証明書の使用 (Transact-SQL)」をご覧ください。
たとえば、loginA で実行されるサーバー インスタンス sqlA の場合、loginB で実行されるサーバー インスタンス sqlB に接続するには、loginA が sqlB に存在し、かつ loginB が sqlA に存在する必要があります。 また、データベース ミラーリング セッションにミラーリング監視サーバー インスタンス (sqlC) が含まれ、3 つのサーバー インスタンスがそれぞれ異なるドメイン アカウントで実行される場合は、以下のログインを作成する必要があります。
インスタンス | ログインを作成し接続権限を許可する対象 |
---|---|
sqlA | sqlB と sqlC |
sqlB | sqlA と sqlC |
sqlC | sqlA と sqlB |
Note
ドメイン ユーザーではなくコンピューター アカウントを使用することにより、ネットワーク サービス アカウントで接続できます。 コンピューター アカウントを使用する場合は、そのアカウントを他方のサーバー インスタンスにユーザーとして追加する必要があります。
接続権限の許可
サーバー インスタンスでログインを作成した後、サーバー インスタンスのデータベース ミラーリング エンドポイントに接続するための権限をそのログインに許可する必要があります。 システム管理者は、GRANT Transact-SQL ステートメントを使用して接続権限を付与します。 詳細については、「GRANT (Transact-SQL)」を参照してください。
Related Tasks
参照
データベース ミラーリング エンドポイント (SQL Server)
データベース ミラーリング構成のトラブルシューティング (SQL Server)
Always On 可用性グループの構成のトラブルシューティング (SQL Server)