O Threat Management Gateway 2010 está eliminando o SQL Connections

5

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:

  1. Execute uma consulta do SSMS que será executada com êxito
  2. Aguarde mais de 30 segundos
  3. 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.
    
  4. 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?

    
por Dan Rowlands 18.02.2012 / 23:58

1 resposta

1

Eu finalmente consegui resolver o problema com a ajuda do suporte da Microsoft. Parece que enquanto o servidor TMG estava recebendo pacotes de manutenção do SSMS, o TMG não estava encaminhando esses pacotes para o SQL Azure.

Eu escrevi uma postagem no blog sobre o problema na íntegra com os scripts vb que a Microsoft me deu para executar.

link

    
por 09.03.2012 / 23:12