Ao executar a consulta abaixo na réplica primária/secundária de um SQL Server Always On Availability Group™
SELECT DISTINCT local_tcp_port,protocol_type,num_reads,num_writes
FROM sys.dm_exec_connections
WHERE local_net_address is not null;
Duas portas tcp locais aparecem para o protocolo de espelhamento de banco de dados 5022
e63420
Server Name local_tcp_port protocol_type num_reads num_writes
ServerName 5022 Database Mirroring 102942598 5
ServerName 63420 Database Mirroring 5 89655349
A 5022
porta é esperada, pois esta é a configurada como o endpoint de espelhamento.
A outra parece ser uma porta dinâmica, por que e para que esta é usada?
Poderia ter a ver com o fato de que um está mostrando um número alto de leituras ( 5022
) e o outro mostrando um número alto de gravações ( 63420
).
Versão de compilação: 13.0.5264.1
Quando um aplicativo estabelece uma conexão TCP, ele especifica uma porta para a porta de entrada (recebimento) e usa uma porta (um pouco) selecionada aleatoriamente para saída (origem ou envio). A porta de entrada para replicação AG é 5022 por padrão, portanto, todo o tráfego de replicação é enviado para a porta 5022. Assim, você vê as leituras de rede ocorrendo na porta 5022, pois o SQL Server está escutando na porta 5022 e lendo os pacotes enviados para essa porta .
A porta de saída, que é selecionada aleatoriamente (mais ou menos), é a porta de onde é enviado. Assim, você vê as gravações associadas à porta aleatória (63420 em seu exemplo), pois o SQL Server está gravando dados nessa porta para serem enviados na conexão.
Veja Como as portas de origem são determinadas... para mais