5 votos

Threat Management Gateway 2010 está matando a SQL Connections

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:

  1. Ejecutar una consulta desde SSMS que se ejecutará con éxito

  2. Esperar más de 30 segundos

  3. 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.
  4. 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?

1voto

Dan Rowlands Puntos 136

Finalmente logré resolver el problema con la ayuda del soporte de Microsoft. Parece que mientras el servidor TMG estaba recibiendo paquetes keep-alive de SSMS, TMG no estaba reenviando esos paquetes a SQL Azure.

He escrito una entrada en el blog sobre el problema en su totalidad con los vb scripts que me dio Microsoft para ejecutar.

http://www.danrowlands.co.uk/2012/03/sql-connections-timing-out-with-tmg.html

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X