Aqui estão explicados os parâmetros.
Keep Alive: Com que frequência o TCP verifica se uma conexão inativa ainda está intacta.
Keep Alive Interval: O intervalo de retransmissão para transmissões inativas do TCP Keep Alive. O valor padrão é 1000ms.
O número de mensagens Keep Alive enviadas é controlado pelo parâmetro TCP/IP TcpMaxDataRetransmissions (valor padrão: 5).
Quando o KeepAlive é definido para 30 segundos e o KeepAliveInterval é definido para 12 segundos, o mecanismo de keep-alive do TCP funciona da seguinte maneira:
1. Suponhamos que a conexão TCP esteja inativa por um período de tempo. Após 30 segundos de inatividade, o sistema operacional envia o primeiro pacote de sonda keep-alive para o ponto final remoto para verificar se a conexão ainda está ativa.
2. Se o ponto final remoto responder ao pacote de sonda keep-alive, a conexão permanece aberta.
3. Após 12 segundos, o sistema operacional envia outro pacote de sonda keep-alive se não houver resposta do ponto final remoto.
4. Repetir o passo 3 até o número máximo de tentativas (controlado pelo parâmetro TCP/IP TcpMaxDataRetransmissions).
Dada a configuração acima dos clientes do SQL Server, as mensagens Keep Alive devem ser respondidas por um servidor SQL em não mais do que 90 segundos (30+12*5=90) no melhor dos casos.
dbs/mss/conn_opts = KeepAlive=30;KeepAliveInterval=12.
TcpMaxDataRetransmissions=5
Se a configuração for alterada para a seguinte, permitirá 220s (120+20*5=220).
dbs/mss/conn_opts = KeepAlive=120;KeepAliveInterval=20,
TcpMaxDataRetransmissions=5
Será relatado um erro de desconexão da conexão se a sonda keep-alive for perdida devido a uma falha no host remoto ou na rede, ou se várias sondas forem enviadas (5 por padrão neste caso) sem receber resposta.