Minha empresa acaba de começar a usar o TMG 2010 como nosso Firewall / Web Proxy em um servidor Windows 2008 R2. Desde a mudança, todas as conexões com o SQL Server são fechadas após cerca de 30 segundos.
Por exemplo:
- Execute uma consulta do SSMS que será executada com êxito
- Aguarde mais de 30 segundos
-
Execute a consulta novamente e ela falhará com o seguinte erro
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.
- Execute a consulta novamente e ela funcionará corretamente.
O mesmo problema também ocorre com consultas que levam mais de 30 segundos para serem executadas.
Estou assumindo que o erro na etapa 3 é porque o SSMS não percebe que a conexão existente foi fechada.
Olhando nos registros do TMG, posso ver as conexões do SQL sendo fechadas com as seguintes informações:
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
Para informações de segundo plano, estou tentando conectar-me ao SQL Azure. No entanto, conectei meu laptop diretamente ao switch (ignorando TMG) e posso me conectar à mesma instância do SQL Azure sem problemas. Com base nisto, não acredito que o problema seja com o SQL Azure ou qualquer coisa a montante da TMG.
Encontrei alguns artigos culpando as configurações do TCP Chimney, mas isso parece se aplicar ao Windows Server 2003 e, de qualquer forma, tentei desabilitá-lo sem sucesso.
Qualquer ajuda com isso seria muito apreciada.
Editar: Acontece que o TMG estava desatualizado, atualizei para o SP2, mas o problema ainda persiste.
Edit: Eu encontrei um tempo limite máximo de conexão sob as configurações de proxy da web, que atualmente está definido para 1800 segundos. Eu nem tenho certeza se o proxy da web é relevante para conexões SQL em 1433, mas como estou ficando sem ideias, desabilitei o proxy completamente. Infelizmente isso não ajudou.
Existe outro local para tempos limite tcp ociosos que estão faltando?