web-dev-qa-db-ja.com

接続時にMultiSubnetFailover値を記録しますか?

AlwaysOnでは、キーワードMultiSubnetFailoverに3つのオプションがあります

  • 真(はい)
  • 偽(いいえ) ((
  • 送信/使用されていません

すべてのアプリケーションが接続文字列での使用をサポートしているわけではありません。すべてのベンダーの連絡先が、フェイルオーバー時のパフォーマンスにとって重要であることを理解しているわけではありません。

DBAとして、アプリケーション接続で使用されているプロパティを検証できるようにしたいと考えています。 RegisterAllProvidersIPの設定を適切に変更していない場合、問題が発生する可能性があります。参照: フォローアップ:可用性グループリスナーの作成後

どちらにも捕獲されていないようです sys.dm_exec_sessions または sys.dm_exec_connections

インスタンスの1つへの接続を作成するために使用された(if any)キーワード値をキャプチャするにはどうすればよいですか?

3
James Jenkins

この構成設定がサーバーに送信されるとは思わない。これは、複数のIPアドレスを返すDNSルックアップのクライアントの解釈を制御し、サーバーにそれを通知する機能的な必要はありません。また、クライアントは任意の名前と値のペアをサーバーに送信しません。クライアントがサーバーに送信するフィールドは TDSプロトコル によって指示され、新しいフィールドを追加するにはプロトコルリビジョンが必要です。

また、クライアントでMultSubnetFailoverを適切に設定することは引き続きベストプラクティスですが、新しいSQL Serverクライアントライブラリは、MultiSubnetFailoverを設定しないことから生じる問題を軽減するために動作を変更しました。 透過的ネットワークIP解決の使用 を参照してください。新しいクライアントは、DNSから返された最初のIPがアクティブなAGリスナーではない場合、2番目のIPへの接続を試みる前に20〜30秒待機するという古い動作ではなく、接続にわずかな遅延しかありません。