SQL Server Always On可用性グループ™のプライマリ/セカンダリレプリカでクエリの下で実行する場合
SELECT DISTINCT local_tcp_port,protocol_type,num_reads,num_writes
FROM sys.dm_exec_connections
WHERE local_net_address is not null;
データベースミラーリングプロトコル用に2つのローカルTCPポートが表示される5022
&63420
Server Name local_tcp_port protocol_type num_reads num_writes
ServerName 5022 Database Mirroring 102942598 5
ServerName 63420 Database Mirroring 5 89655349
5022
ポートは、ミラーリングエンドポイントとして構成されているポートであるため、想定されています。
もう1つは動的ポートのようですが、なぜ、何のためにこれを使用するのですか?
1つは多数の読み取り(5022
)を示し、もう1つは多数の書き込み(63420
)を示しているという事実と関係があるのでしょうか。
ビルドバージョン:13.0.5264.1
アプリケーションがTCP接続を確立すると、インバウンド(受信)ポートにポートを指定し、アウトバウンド(ソース、または送信)に(やや)ランダムに選択されたポートを使用します。インバウンドポートAGレプリケーションの場合、デフォルトでは5022であるため、すべてのレプリケーショントラフィックはポート5022に送信されます。したがって、SQL Serverがポート5022をリッスンし、そのポートに送信されるパケットを読み取っているときに、ポート5022でネットワーク読み取りが行われていることがわかります。
ランダムに(多かれ少なかれ)選択される送信ポートは、送信元のポートです。したがって、SQL Serverが接続に送信するためにこのポートにデータを書き込んでいるため、ランダムポート(例では63420)に関連付けられた書き込みが表示されます。
詳しくは 送信元ポートの決定方法... を参照してください