SQL 2017 Standard em SQL sempre em dois nós Basic AG. Existem dois registros DNS para o ouvinte com os diferentes IPs de sub-rede
Os servidores estão em sub-redes e encontramos problemas com um aplicativo que atinge o tempo limite aleatoriamente ao conversar com o banco de dados, outras vezes ele responde em milissegundos. Depois de executar o Wireshark, podemos ver que o aplicativo está tentando se comunicar com o banco de dados por meio do endereço IP do ouvinte do parceiro de failover, a réplica não legível.
Esta informação que li explica o tempo limite de 21 segundos.
MultiSubnetFailover=TRUE parecia ser a resolução, mas o aplicativo está usando uma versão mais antiga do .NET, há mais alguma coisa que eu possa fazer para resolver ou contornar isso?
Conforme mencionado nos documentos aqui , o problema é explicado:
E existem duas soluções principais:
Na minha opinião, metade das conexões que demoram mais de 20 segundos está longe de ser o ideal e eu procuraria alterar as configurações
RegisterAllProvidersIP
para 0 eHostRecordTTL
de acordo com suas necessidades. Saiba que diminuir muito esse valor aumentará as solicitações de pesquisa de DNS. Você também pode examinar o monitoramento de failovers aqui ajudaria com problemas de conexão após o failover.