これの言い方がよくわかりませんが、AGがフェールオーバーしたときのユーザーへの影響を減らすために、DBAができること(アプリケーションのコードを変更する以外のこと)を探しています。
リスナーと接続して、SQL 2016 SP2 CU10を同期コミットモードで実行する2ノードAGがあります。
新しいプライマリノードへの接続の切り替えを制御するものは何ですか。スイッチを加速する方法はありますか?接続文字列、AG設定、タイムアウトの変更など、ユーザーの切り替えを高速化するのに役立つものはありますか?
新しいプライマリノードへの接続の切り替えを制御するものは何ですか?
可用性グループ(AG)リスナーは、AGの構成方法(読み取り要求を許可するかどうかに応じて)に応じて、受信接続をプライマリレプリカまたは読み取りレプリカに送信します。
フェイルオーバーが発生すると、役割の反転が発生し、セカンダリレプリカがプライマリの役割に移行し、以前のプライマリがセカンダリの役割に移行します。
フェイルオーバー中、すべてのクライアント要求は終了します。これはアプリケーションのダウンタイムです。これで、フェイルオーバー後、クライアントがAGリスナーに再接続すると、リスナーは新しいプライマリに再接続します(読み取りインテント接続要求を除く)。
接続文字列、AG設定、タイムアウトの変更など、ユーザーの切り替えを高速化するのに役立つものはありますか?
アプリケーションがサポートする場合:
MultiSubnetFailover = TRUEの場合、 (私の回答で説明されているように)パフォーマンスが向上します)
MultiSubnetFailover = Falseの場合、HostTTL設定を低い値に下げる必要があります。 5秒vsデフォルトの300秒。
参照: