locked
Sem conexão TCP RRS feed

  • Pergunta

  • Temos um SQL Server 2000 SP4 instalado numa das máquinas (WinXP SP2), que é (ou pelo menos era) acessado via rede local e externamente em escritório de outras duas cidades. Aconteceu que repentinamente, o SQL (ou o computador/roteador) não está mais aceitando conexões externas.
     
    Se acessar o servidor SQL via rede local, colocando o IP externo inclusive, ele aceita, mas se eu estiver fora do escritorio, não aceita.
     
    Já desativei todos os Firewall, tanto do roteador quanto do Windows. Desinstalei o antivirus (obviamente que depois de verificar eventual presença de vírus). A porta 1433 TCP e 1434 UDP estão configuradas (como sempre estiveram) para aceitar e redirecionar um acesso para o servidor. Tanto que, na rede local, o servidor é encontrado via 'named pipes', e TCP/IP (IP interno ou externo).
     
    O problema foi detectado há uma semana. Na época, verifiquei o log do SQL, e notei uma mensagem dizendo o seguinte: "SuperSocket Info: Bind failed on TCP port 1433". Não sei se isso tinha a ver com o problema, mas depois disso e várias investigações, decidi reinstalar o SP4 do SQL e essa mensagem de erro não voltou a aparecer. Mas o problema persisti.
     
    Agradeço a ajuda
     
     
    terça-feira, 24 de outubro de 2006 20:00

Todas as Respostas

  • Harmac2001,

     

    1 - Qual é a versão do SQL Server 2000 que esta instalado neste Windows XP?

    2 - Você já verificou se o protocolo TCP/IP esta habilitado para conexão remotas?

    terça-feira, 24 de outubro de 2006 20:27
    Moderador
  •  

    1- SQL Server 2000 versão 8.00.2039.

    2- Desativei todo o Firewall..  conecto no SQL via rede local normalmente; acesso o computador via desktop remoto; tenho um ICQ server que usa a porta 4000, que conectou externamente (em casa) sem problemas.

    Só SQL mesmo que não está aceitando conexões remotas. verifiquei no netstat, e a porta 1433 está sendo ouvida.

    Isso está me tirando do sério.

    Grato.

     

    terça-feira, 24 de outubro de 2006 20:31
  •  

    Segue o log para quem quiser apreciar. Como dito acima, o firewall está desativado e localmente, dá para conectar via IP externo:

     

    Date                          Source           Message
    2006-10-24 15:23:37.54  server SQL Server is starting at priority class 'high'(1 CPU detected).
    2006-10-24 15:23:37.54  server Logging SQL Server messages in file 'C:\Arquivos de programas\Microsoft SQL Ser
    2006-10-24 15:23:37.54  server Server Process ID is 2288.
    2006-10-24 15:23:37.54  server All rights reserved.
    2006-10-24 15:23:37.54  server Copyright (C) 1988-2002 Microsoft Corporation.
    2006-10-24 15:23:37.54  server Microsoft SQL Server  2000 - 8.00.2039 (Intel X86) ...
    2006-10-24 15:23:37.73  server SQL Server configured for thread mode processing.
    2006-10-24 15:23:37.73  server Using dynamic lock allocation. [500] Lock Blocks, [1000] Lock Owner Blocks.
    2006-10-24 15:23:37.76  spid3 Starting up database 'master'.
    2006-10-24 15:23:37.89  server Using 'SSNETLIB.DLL' version '8.0.2039'.
    2006-10-24 15:23:37.89  spid5 Starting up database 'model'.
    2006-10-24 15:23:37.90  server SQL server listening on 127.0.0.1: 1433.
    2006-10-24 15:23:37.90  server SQL server listening on 192.168.1.101: 1433.
    2006-10-24 15:23:37.90  spid3 Starting up database 'AgendaProinde'.
    2006-10-24 15:23:37.90  spid3 Skipping startup of clean database id 10
    2006-10-24 15:23:37.90  spid3 Skipping startup of clean database id 9
    2006-10-24 15:23:37.90  spid3 Skipping startup of clean database id 7
    2006-10-24 15:23:37.90  spid3 Skipping startup of clean database id 6
    2006-10-24 15:23:37.90  spid3 Skipping startup of clean database id 5
    2006-10-24 15:23:37.90  spid3 Skipping startup of clean database id 4
    2006-10-24 15:23:37.90  spid3 Server name is 'PROINDE-SERVER'.
    2006-10-24 15:23:37.93  server SQL Server is ready for client connections
    2006-10-24 15:23:37.93  server SQL server listening on TCP, Shared Memory, Named Pipes, Rpc.
    2006-10-24 15:23:37.98  spid5 Clearing tempdb database.
    2006-10-24 15:23:38.07  spid5 Starting up database 'tempdb'.
    2006-10-24 15:23:38.11  spid3 Recovery complete.
    2006-10-24 15:23:42.23  spid51 Starting up database 'msdb'.
    2006-10-24 15:23:42.50  spid51 Using 'xpsqlbot.dll' version '2000.80.2039' to execute extended stored procedur
    2006-10-24 15:23:42.57  spid52 Using 'xpstar.dll' version '2000.80.2039' to execute extended stored procedure
    2006-10-24 15:25:44.96  spid54 Starting up database 'Proinde'.
    2006-10-24 16:21:05.53  spid52 Starting up database 'Northwind'.

    terça-feira, 24 de outubro de 2006 20:49
  • Rogerio,

    Para situacoes como essa, normalmente realizo dois testes a partir do local que nao permite conexão no SQL (no seu caso, da rede externa). Um para ver se externamente o servidor responde ao ping e outra para verificar se é possivel conectar na porta 1433.

    Para verificar se o servidor responde ao ping, execute no command prompt da estacao que nao consegue conectar no SQL o seguinte comando:

    ping [ip_do_servidor]

    o resultado esperado é algo parecido com:

    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

    Para verificar se o servidor permite conexao na porta 1433, execute no command prompt da estacao que nao consegue conectar no SQL o seguinte comando:

    telnet [ip_do_servidor] 1433

    Neste caso o resultado esperado é a tela do command prompt ficar toda preta.

    Caso um destes testes retorne erro, voce esta com um problema de firewall ou roteador. Caso eles funcionem, o problema pode ser outro. Uma dica é verificar se na maquina cliente se o Client do SQL esta configurado para permitir conexões via TCP/IP para este servidor ou se nao existe nenhum Alias apontando para outro servidor que nao possui SQL instalado.

     

    terça-feira, 24 de outubro de 2006 23:52
  • Olá Cristiano,

    Já havia realizado o teste com o telnet. Deu erro !

    O firewall do roteador e do Windows foram desativados. Na verdade o servidor SQL está completamente escancarado. Tanto que, como disse, tenho um servidor ICQ que funcionou perfeitamente bem. Além disso, entro via desktop remoto sem problemas.

    Tanto o Server quanto o Client Utility Server estão configurados para a porta 1433 do TCP/IP.

    No entanto, não conecta de jeito nenhum.

    Te agradeço pela reposta.

    Vou continuar estudando e procurando por aí.

     

     

    quarta-feira, 25 de outubro de 2006 11:53
  • Harmac2001,

    Você já verificou se esta máquina não possui um sniffer ou até mesmo spywares instalado nesta porta?

    Normalmente um sniffer tem esta função, ele se aloja em uma porta é fica retendo toda a comunicação que trafega por ela, muitas vezes impedindo a troca de dados.

    quarta-feira, 25 de outubro de 2006 13:53
    Moderador
  • Olá Júnior,

    Obrigado pela resposta e gostaria de agradecer a todos!

    Ontem liguei no provedor para saber se por acaso, eles teriam fechado a 1433. Disseram que "estava tudo normal".

    Inconformado e depois de ter certeza de que por aqui estava tudo certo, liguei novamente para que eles confirmassem que realmente não teriam fechado a tal porta, daí sim disseram que um dos clientes sofrera um ataque e que decidiram fechar a 1433 de todos os clientes. Fiquei impressionado com a falta de respeito.

    Agora está tudo funcionando.

    Muito obrigado a todos!!!

     

     

    quarta-feira, 25 de outubro de 2006 17:47
  • Harmac,

    Qualquer coisa esta ai!!!

    quarta-feira, 25 de outubro de 2006 18:30
    Moderador