A continuación se explica acerca de los parámetros.
Keep Alive: Con qué frecuencia TCP verifica que una conexión inactiva sigue intacta.
Keep Alive Interval: El intervalo de reintento para transmisiones inactivas de TCP Keep Alive. El valor predeterminado es 1000ms.
El número de mensajes Keep Alive enviados está controlado por el parámetro TCP/IP TcpMaxDataRetransmissions (valor predeterminado: 5).
Cuando KeepAlive se establece en 30 segundos y KeepAliveInterval se establece en 12 segundos, el mecanismo de keep-alive de TCP funciona de la siguiente manera:
1. Supongamos que la conexión TCP está inactiva durante un período de tiempo. Después de 30 segundos de inactividad, el sistema operativo envía el primer paquete de sonda de keep-alive al punto final remoto para verificar si la conexión sigue activa.
2. Si el punto final remoto responde al paquete de sonda de keep-alive, la conexión permanece abierta.
3. Después de 12 segundos, el sistema operativo envía otro paquete de sonda de keep-alive si no hay respuesta del punto final remoto.
4. Repetir el paso 3 hasta el número máximo de reintentos (que está controlado por el parámetro TCP/IP TcpMaxDataRetransmissions).
Dada la configuración anterior de los clientes de SQL Server, los mensajes Keep Alive deben ser respondidos por un servidor SQL en no más de 90 segundos (30+12*5=90) en el mejor de los casos.
dbs/mss/conn_opts = KeepAlive=30;KeepAliveInterval=12.
TcpMaxDataRetransmissions=5
Si la configuración se cambia a la siguiente, permitiría 220s (120+20*5=220).
dbs/mss/conn_opts = KeepAlive=120;KeepAliveInterval=20,
TcpMaxDataRetransmissions=5
Se informará un error de desconexión de la conexión si la sonda keep-alive se pierde debido a un fallo del host remoto o de la red, o si se envían múltiples sondas (5 de forma predeterminada en este caso) sin recibir respuesta.