Mi empresa acaba de empezar a utilizar TMG 2010 como nuestro Firewall / Web Proxy en un servidor Windows 2008 R2. Desde el traslado, todas las conexiones a SQL Server se cierran después de unos 30 segundos.
Por ejemplo:
-
Ejecutar una consulta desde SSMS que se ejecutará con éxito
-
Esperar más de 30 segundos
-
Ejecute la consulta de nuevo y fallará con el siguiente error
A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.
-
Vuelva a ejecutar la consulta y funcionará correctamente.
El mismo problema se produce con las consultas que tardan más de 30 segundos en ejecutarse.
Supongo que el error en el paso 3 se debe a que SSMS no se da cuenta de que la conexión existente se ha cerrado.
Mirando en los registros de TMG puedo ver que las conexiones SQL se cierran con la siguiente información:
Closed Connection
Log type: Firewall service
Status: Unspecified error
Rule: Internal Internet Access
Source: Internal (xx.xx.xx.xx)
Destination: External (xx.xx.xx.xx:1433)
Protocol: Microsoft SQL (TCP)
The result code is: 0x80004005
Como información de fondo estoy tratando de conectarme a SQL Azure. Sin embargo, he conectado mi portátil directamente al conmutador (evitando TMG) y puedo conectarme a la misma instancia de SQL Azure sin ningún problema. Basado en esto no creo que el problema sea con SQL Azure o cualquier cosa aguas arriba de TMG.
He encontrado algunos artículos que culpan a la configuración de TCP Chimney, pero esto parece aplicarse a Windows Server 2003 y, en cualquier caso, he intentado desactivarlo sin éxito.
Cualquier ayuda con esto sería muy apreciada.
Edición: Resulta que TMG estaba muy desactualizado, lo he actualizado a SP2 pero el problema persiste.
Editar: He encontrado un tiempo máximo de conexión en la configuración del proxy web, que actualmente se establece en 1800 segundos. Ni siquiera estoy seguro de que el proxy web sea relevante para las conexiones sql por encima de 1433, pero como me estoy quedando sin ideas, he desactivado el proxy por completo. Desafortunadamente esto no ayudó.
¿Hay alguna otra ubicación para los tiempos de espera tcp inactivos que me esté perdiendo?