翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Always On 可用性グループの設定
SQL Server バージョン 2012 以降のネイティブクライアントライブラリ、および .NET Framework 4.5 ライブラリを使用している場合は、MultiSubnetFailoverパラメータを使用して接続動作を変更することができます。このパラメータは TRUE
に設定することを推奨します。これにより、Always On 可用性グループでのフェイルオーバーが速くなります。
注記
[MultiSubnetFailover] パラメータを使用できないレガシーアプリケーションがある場合は、SQL Server インスタンスの前に Network Load Balancer を配置できます。バランサーはヘルスチェックを使用してどの SQL Server データベースがアクティブかを判断し、現在そのデータベースをホストしているインスタンスにトラフィックを送信します。ロードバランサーは 1 つ以上のアベイラビリティーゾーンにまたがっています。ヘルスチェックには 59999 などの専用ポートを使用し、そのポートに対応するようにクラスターグループパラメーターを変更できます。これにより、MultiSubnetFailover パラメータを使用しなくても SQL Server のフェイルオーバー時間を約 1 分に短縮できます。詳細な手順については、ブログ記事Network Load Balancer を使用して Amazon EC2 インスタンス上の SQL Server のフェイルオーバー時間を短縮する
可用性グループリスナーが DNS に登録される方法に影響する設定は、RegisterAllProviderSIP と HostRecordTTL の 2 つです。
Always On 可用性グループを使用する場合は、RegisterAllProvidersIP を true に設定する
RegisterAllProvidersIP を 1
(true)に設定することを推奨します。RegisterAllProviderSIP を 1
に設定して可用性グループリスナーを作成すると、そのリスナーのすべての IP アドレスが DNS に登録されます。RegisterAllProviderSIP が 0
(false)に設定されている場合、登録されるアクティブな IP は 1 つのみです。
フェイルオーバーの場合、プライマリレプリカがあるサブネットから別のサブネットに移動すると、古い IP アドレスは登録解除され、新しい IP アドレスが登録されます。可用性グループリスナーがオンラインになると、DNS は新しい IP で更新されます。ただし、クライアントシステムは、現在キャッシュされているエントリの有効期限が切れるまで、リスナー名を新しい IP アドレスに解決しません。
Always On アベイラビリティグループを使用する場合は、HostRecordTTL を 60 以下に設定します
HostRecordTTL 設定は、キャッシュされた DNS エントリの有効期限(TTL)を制御します。デフォルトの値は 30 秒です。HostRecordTTL をはるかに低い設定(60 秒以下)に変更することをお勧めします。これにより、キャッシュされた値の有効期限が早まるため、フェイルオーバーが発生した場合でも、クライアントシステムは新しい IP をより迅速に解決できます。
Always On クラスターグループの自動フェールバックを無効にする
Windows クラスターマネージャーの Always On 可用性グループの自動フェールバックが無効になっていることを確認します。