Select the product you need help with
Como solucionar problemas de conectividade no SQL Server 2000ID do artigo: 827422 - Exibir os produtos aos quais esse artigo se aplica. Nesta páginaSumárioEste artigo pode ajudá-lo a resolver problemas de
conectividade com o Microsoft SQL Server 2000. Ele contém descrições de
problemas de conectividade comuns e as etapas que podem ser executadas para
ajudar a resolver esses problemas. O SQL Server 2000 suporta diversos métodos de comunicação
entre a instância do SQL Server e os aplicativos clientes. Se o seu aplicativo
cliente e a instância do SQL Server residem no mesmo computador, os componentes
de comunicação entre processos (IPC) do Microsoft Windows, como pipes nomeados
locais ou o protocolo de memória compartilhada, serão usados para comunicação.
No entanto, quando o aplicativo cliente e a instância do SQL Server residem em
computadores diferentes, um IPC de rede, como TCP/IP ou pipes nomeados, é usado
para comunicação. SQL Server 2000 usa a Net-Library (biblioteca de rede), uma DLL, para se comunicar com um protocolo de rede específico. Um par correspondente de bibliotecas de rede deve estar ativo no computador cliente e o no computador servidor para suportar o protocolo de rede que deseja usar. Por exemplo, se quiser habilitar um aplicativo cliente para que se comunique com uma instância específica do SQL Server por meio de TCP/IP, a biblioteca de rede dos soquetes TCP/IP do cliente (Dbnetlib.dll) deve estar configurada para conectar-se ao servidor no computador cliente. Da mesma forma, a biblioteca de rede dos soquetes TCP/IP do servidor (Ssnetlib.dll) deve escutar no computador servidor. Nessa situação, a pilha do protocolo TCP/IP deve ser instalada no computador cliente e no computador servidor. Após a instalação do SQL Server 2000, é possível configurar as propriedades das bibliotecas de rede clientes usando o utilitário de rede para clientes. É possível configurar as propriedades das bibliotecas de rede do servidor usando o utilitário de rede para servidor (Svrnetcn.exe). As bibliotecas de rede do servidor são instaladas durante a instalação das ferramentas do servidor na Instalação do SQL Server. No entanto, algumas das bibliotecas de rede do servidor podem não estar ativas. Por padrão, o SQL Server 2000 habilita e escuta em TCP/IP, pipes nomeados e memória compartilhada. Por isso, para que um cliente se conecte a um computador servidor, ele deve se conectar usando uma biblioteca de rede do cliente que corresponda a uma das bibliotecas de rede do servidor sendo usadas no momento pela instância do SQL Server. Para obter informações adicionais sobre os componentes de comunicação do SQL Server e as bibliotecas de rede, consulte os seguintes tópicos nos Manuais online do SQL Server:
Solucionar problemas de conectividadeA maior parte dos problemas de conectividade que podem ser observados no SQL Server 2000 ocorrem devido a problemas com TCP/IP, autenticação do Windows ou uma combinação de TCP/IP e autenticação do Windows.Importante Antes de iniciar a solução de problemas de conectividade no SQL Server 2000, verifique se o serviço MSSQLServer foi iniciado no computador que está executando SQL Server. Verificar suas configurações DNSO processo de resolução de nome no sistema de nomes de domínio (DNS) é usado para resolver o endereço IP para o nome da instância do SQL Server. Se o processo de resolução de nome não funcionar corretamente, a instância do SQL Server não poderá ser alcançada e uma ou mais das seguintes mensagens de erro pode ser exibida:O SQL Server não
existe ou acesso foi negado Erro geral de
rede Não é possível gerar contexto
SSPI
223413
(http://support.microsoft.com/kb/223413/
)
Opções para Ipconfig.exe no Windows 2000
Para solucionar esse problema, adicione uma entrada para o servidor ao arquivo %systemroot%\system32\drivers\etc\hosts no computador cliente. Também é possível solucionar o problema conectando-se ao servidor usando a biblioteca de rede de pipes nomeados. Verificar os protocolos e aliases habilitadosOs problemas de conectividade podem ocorrer se o alias no computador cliente estiver configurado incorretamente. É possível exibir os aliases usando o utilitário Client Network. Para fazer isso, execute estas etapas:
Observação Versões anteriores do Microsoft Data Access Components (MDAC) possuem uma interface de usuário diferente para o utilitário de rede para clientes. Por isso, Caso você não veja as opções listadas neste artigo, instale uma versão mas recente do MDAC no computador que está executando o aplicativo cliente. Verificar se a instância do SQL Server está escutando corretamentePara verificar se a instância do SQL Server está escutando nos pipes nomeados, TCP/IP ou outro protocolo que estiver usando no aplicativo cliente, abra o arquivo de log de erro do SQL Server atual. O arquivo de log de erro do SQL Server pode conter entradas semelhantes às seguintes:06-11-2003 09:49:36.17 server SQL server escutando em TCP, memória compartilhada, pipes nomeados. 06-11-2003 09:49:36.17 server SQL server escutando em 192.168.1.5:1433, 127.0.0.1:1433. Se você analisar as entradas no arquivo de log de erro do SQL Server, poderá verificar se a instância do SQL Server está escutando no endereço IP correto e na porta correta. Por padrão, uma instância padrão do SQL Server escuta na porta 1433. Também é possível usar o utilitário de rede para servidor para verificar as configurações de protocolo para SQL Server e alterar as propriedades no SQL Server, incluindo os protocolos que podem se conectar ao SQL Server e às portas que podem ser usadas. Para obter informações adicionais sobre como usar o utilitário de rede para servidor, consulte o tópico "Utilitário de rede do SQL Server" nos Manuais online do SQL Server. Algumas vezes, o SQL Server 2000 pode não se vincular à porta 1433 ou qualquer outra porta especificada. Esse problema pode ocorrer se a porta estiver sendo usada por outro aplicativo ou se estiver tentando se conectar usando um endereço IP que não é correto. Por isso, as conexões TCP/IP para SQL Server podem não ter êxito e você pode receber a seguinte mensagem de erro no arquivo log de erro do SQL Server: 14-11-2001 15:49:14.12
server SuperSocket Info: Vínculo falhou na porta TCP
1433. 307197
(http://support.microsoft.com/kb/307197/
)
PRB: Porta TCP\IP sendo usada por outro aplicativo
Se não for possível se conectar com a instância do SQL Server usando uma conexão TCP/IP, tente usar o protocolo pipes nomeados ou o protocolo de memória compartilhada. Execute o seguinte comando em um prompt de comando para obter informações sobre as portas em uso: Para obter informações adicionais sobre o utilitário de linha de comando Portqry, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft: 310099 Para obter
informações adicionais sobre um possível bug relacionado aos soquetes TCP/IP,
clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da
Microsoft:
(http://support.microsoft.com/kb/310099/
)
Descrição do utilitário da linha de comando Portqry.exe
306865
(http://support.microsoft.com/kb/306865/
)
BUG: SQL Server pode não escutar nos soquetes TCP/IP quando o TCP/IP é o único protocolo
Observações Para instâncias nomeadas do SQL Server, o SQL Server determina dinamicamente a porta e escuta na porta determinada. Por isso, ao iniciar a instância nomeada do SQL Server, ele tenta escutar na porta que estava sendo usada anteriormente. Se o SQL Server não puder se vincular a essa porta, a instância nomeada poderá se vincular dinamicamente a uma porta diferente. Nessa situação, verifique se o aplicativo cliente também está configurado para determinar a porta dinamicamente. Como alternativa, também é possível especificar uma porta estática para a instância nomeada se vincular e escutar usando o utilitário de rede para clientes. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft: 286303
(http://support.microsoft.com/kb/286303/
)
INF: Comportamento da biblioteca de rede do SQL Server 2000 durante a detecção dinâmica da porta
823938
(http://support.microsoft.com/kb/823938/
)
Como usar a alocação de porta dinâmica e estática no SQL Server 2000
Solucionar problemas MDACProblemas de conectividade também podem ocorrer devido a problemas com MDAC. Por exemplo, uma instalação de software pode substituir alguns arquivos MDAC ou alterar as permissões que você deve ter para acessar os arquivos MDAC. É possível executar o MDAC Component Checker para verificar a instalação MDAC no seu computador.Para obter informações adicionais sobre como determinar a versão do MDAC, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft: 301202
(http://support.microsoft.com/kb/301202/
)
COMO: Verificar a versão do MDAC
Observação Se estiver se conectando a uma instância nomeada do SQL Server, verifique se está executando MDAC 2.6 ou uma versão mais recente no seu computador. Versões anteriores do MDAC não reconhecem instâncias nomeadas do SQL Server. Por isso, as conexões para instâncias nomeadas podem não ter êxito. É possível usar o utilitário Odbcping.exe para verificar conexões por meio do driver ODBC do SQL Server. Para obter informações adicionais sobre o Odbcping.exe, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft: 138541 Para obter informações adicionais sobre como
configurar DSNs do ODBC, clique no número abaixo para ler o artigo na Base de
Dados de Conhecimento da Microsoft:
(http://support.microsoft.com/kb/138541/
)
COMO: Usar o Odbcping.exe para verificar a conectividade ODBC para SQL Server
289573
(http://support.microsoft.com/kb/289573/
)
PRB: Configurando os DSNs com as bibliotecas de rede do SQL Server
Também é possível testar a conectividade para a instância do SQL Server usando um arquivo .udl. Para obter informações adicionais sobre como criar um arquivo .udl, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft: 244659
(http://support.microsoft.com/kb/244659/
)
EXEMPLO: Como criar um arquivo de vínculo de dados com o Windows 2000
Solucionar problemas de firewallSe o firewall existir entre o computador cliente e o computador que está executando SQL Server, verifique se as portas necessárias para comunicar por meio do firewall estão abertas.Para obter informações adicionais sobre as portas que devem estar abertas para comunicação por meio de um firewall, clique nos números abaixo para ler os artigos na Base de Dados de Conhecimento da Microsoft: 287932
(http://support.microsoft.com/kb/287932/
)
INF: Portas TCP necessárias para comunicação com SQL Server por meio de um firewall
269882
(http://support.microsoft.com/kb/269882/
)
COMO: Usar o ADO para conectar-se a um SQL Server atrás de um firewall
Se você usar o protocolo TCP/IP para se conectar à instância do SQL Server, verifique se é possível usar o programa Telnet para conectar-se a porta na qual o SQL Server está escutando. Para usar o programa Telnet, execute o seguinte comando em um prompt de comando: Observação Devido aos problemas causados pelo vírus Slammer, a porta UDP (User Datagram Protocol) 1434 pode estar bloqueada no seu firewall. Solucionar problemas de autenticação e segurançaAs conexões para SQL Server podem não ter êxito devido a falhas de autenticação. Se a autenticação falhar, uma das seguintes mensagens de erro pode ser exibida:Falha de logon para o usuário
'<nome de usuário>' Falha de logon para o usuário "NTAUTHORITY\ANONYMOUS
LOGON" Falha de logon para o usuário
"nulo". Não é possível gerar contexto SSPI
811889 Se a conexão não tiver êxito ao usar a autenticação
SQL Server, a seguinte mensagem de erro será exibida:
(http://support.microsoft.com/kb/811889/
)
Como solucionar a mensagem de erro "Não é possível gerar contexto SSPI"
Falha de logon para o usuário '<nome de
usuário>' . Não está associado a uma conexão
confiável Para solucionar esse problema, execute estas etapas. Aviso O uso incorreto do Editor do Registro pode causar sérios problemas que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que os problemas resultantes do uso incorreto do Editor do Registro possam ser solucionados. O uso do Editor do Registro é de sua responsabilidade.
316898
(http://support.microsoft.com/kb/316898/
)
COMO: Habilitar a criptografia SSL para SQL Server 2000 com o Console de gerenciamento da Microsoft
322144
(http://support.microsoft.com/kb/322144/
)
CORREÇÃO: SECDoClientHandShake não pode se conectar ao SQL Server
Solucionar problemas de tensão nos soquetes TCP/IPAo usar o driver ODBC do SQL Server, o provedor Microsoft OLE DB para SQL Server, ou o provedor gerenciado System.Data.SqlClient, é possível desabilitar o pool de conexão usando as interfaces de programação de aplicativos (APIs) apropriadas. Ao desabilitar o pool de conexão e seus aplicativos abrirem e fecharem as conexões com freqüência, a tensão na biblioteca de rede subjacente do SQL Server pode aumentar. Algumas vezes, os servidores da Web e os drivers JDBC também podem tentar se conectar à instância do SQL Server. Por isso, o aumento nas solicitações de conexão para o SQL Server pode ser mais do que o SQL Server pode controlar. Isso pode causar uma tensão nos soquetes TCP/IP e a seguinte mensagem de erro pode ser exibida no arquivo de log de erro do SQL Server:07-08-2003
20:46:21.11 server Erro: 17832, Severidade: 20, Estado: 6 07-08-2003 20:46:21.11 server A conexão abriu, mas pacotes de logon inválidos foram enviados. Conexão fechada. Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de Dados de Conhecimento da Microsoft: 154628
(http://support.microsoft.com/kb/154628/
)
INF: SQL registra 17832 com solicitações de conexão TCP\IP múltiplas
328476
(http://support.microsoft.com/kb/328476/
)
Configurações TCP/IP para drivers do SQL Server quando o pool está desabilitado
Observação Você pode não perceber a tensão nos soquetes TCP/IP se estiver executando SQL Server 2000 SP3 ou SQL Server 2000 SP3a devido a adição de um limite para o número de pacotes de logon. O erro 17832 ocorre ao usar drivers de outra empresa para conectar-se à instância do SQL Server. Para resolver esse problema, contate o fornecedor de outra empresa e obtenha drivers testados para funcionar com o SQL Server 2000 SP3 e SQL Server 2000 SP3a. Verificar se a instância do SQL Server foi iniciada no modo de usuário únicoSe a instância do SQL Server com a qual está tentando se conectar tiver sido iniciada no modo de usuário único, apenas uma conexão poderá ser estabelecida com o SQL Server. Se você tiver um software executando no seu computador que se conecta automaticamente ao SQL Server, o software poderá facilmente usar a única conexão. Por exemplo, o seguinte software pode se conectar automaticamente à instância do SQL Server:
O SQL
Server não existe ou o acesso foi negado Para determinar se a instância do SQL Server foi iniciada no modo de usuário único, verifique se o arquivo de log de erro do SQL Server possui uma entrada semelhante à seguinte: 31-07-2003
11:26:43.79 spid3 Aviso ****************** 31-07-2003 11:26:43.80 spid3 SQL Server iniciou no modo de usuário único. Atualizações permitidas para catálogos do sistema. Verificar a conectividade dos pipes nomeados para SQL ServerSe não for possível se conectar à instância do SQL Server usando pipes nomeados, verifique se a instância do SQL Server está configurada para aceitar conexões de pipes nomeados. Para obter informações adicionais sobre o procedimento para testar pipes nomeados, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:68941
(http://support.microsoft.com/kb/68941/
)
INF: Procedimento para testar pipes nomeados
Solucionar problemas de conexões das quais o tempo limite se esgota durante o processo de recuperaçãoCada vez que você inicia uma instância do SQL Server, ele recupera cada banco de dados. Durante esse processo de recuperação, o SQL Server desfaz as transações que não estão confirmadas. O SQL Server também adia as transações confirmadas e as alterações que não foram gravadas no disco rígido quando a instância do SQL Server foi interrompida. Quando o processo de recuperação é concluído, o SQL Server registra a seguinte mensagem no arquivo de log de erro do SQL Server: Durante o processo de recuperação, o SQL Server pode não aceitar conexões. Clientes que tentam se conectar à instância do SQL Server durante esse período podem receber uma mensagem de erro semelhante à seguinte:Tempo limite expirou Testar maneiras diferentes de se conectar à instância do SQL ServerSe você enfrentar problemas de conectividade ao se conectar à instância do SQL Server, poderá usar um ou mais dos seguintes métodos para solucionar esses problemas.
Capturar traços do monitor de redeSe o problema de conectividade não for resolvido pelas etapas mencionadas na seção "Testar maneiras diferentes de se conectar à instância do SQL Server 2000", use o utilitário Monitor de rede para capturar o rastreamento de rede. Para obter informações adicionais sobre o rastreamento de rede, clique nos números abaixo para ler os artigos na Base de Dados de Conhecimento da Microsoft:148942
(http://support.microsoft.com/kb/148942/
)
Como capturar o tráfego de rede com o monitor de rede
294818
(http://support.microsoft.com/kb/294818/
)
Perguntas freqüentes sobre o monitor de rede
169292
(http://support.microsoft.com/kb/169292/
)
O básico sobre a leitura de rastreamento TCP/IP
102908
(http://support.microsoft.com/kb/102908/
)
Como solucionar problemas de conectividade TCP/IP com o Windows 2000 ou Windows NT
Para obter informações detalhadas adicionais, pode ser necessário usar o rastreamento do Analisador de perfis de SQL. Também é possível usar a ferramenta de diagnósticos de rede para computadores sem cluster que estão executando o SQL Server para rastreamento de rede. Para obter informações adicionais sobre como usar a ferramenta de diagnósticos de rede, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft: 321708
(http://support.microsoft.com/kb/321708/
)
COMO: Usar a ferramenta de diagnósticos de rede (Netdiag.exe) no Windows 2000
Referências Para obter informações
adicionais sobre diversos problemas de conectividade relacionados ao SQL
Server, clique nos números abaixo para ler os artigos na Base de Dados de
Conhecimento da Microsoft: 812817
(http://support.microsoft.com/kb/812817/
)
Support WebCast: Microsoft SQL Server 2000: Solucionando problemas de conectividade
319930
(http://support.microsoft.com/kb/319930/
)
COMO: Conectar-se ao mecanismo de Área de trabalho da Microsoft
257434
(http://support.microsoft.com/kb/257434/
)
INF: Biblioteca de rede em DNS existente substituída por biblioteca de rede no novo DSN para o mesmo nome de SQL Server
306985
(http://support.microsoft.com/kb/306985/
)
Erros RPC ao conectar-se a um servidor virtual de cluster com pipes nomeados
313062
(http://support.microsoft.com/kb/313062/
)
COMO: Conectar-se a um banco de dados usando Active Server Pages no Windows 2000
313295
(http://support.microsoft.com/kb/313295/
)
COMO: Usar o parâmetro nome de servidor em uma seqüência de conexão para especificar a biblioteca de rede do cliente
320728
(http://support.microsoft.com/kb/320728/
)
COMO: Resolver a mensagem de erro "O limite máximo de conexão foi atingido"
328306
(http://support.microsoft.com/kb/328306/
)
INF: Possíveis causas da mensagem de erro "O SQL Server não existe ou acesso negado"
247931
(http://support.microsoft.com/kb/247931/
)
INF: Métodos de autenticação para conexões ao SQL Server em Active Server Pages
169377
(http://support.microsoft.com/kb/169377/
)
Como acessar o SQL Server em páginas do Active Server
328383
(http://support.microsoft.com/kb/328383/
)
INF: Os clientes do SQL Server podem alterar protocolos ao tentarem se conectar
238949
(http://support.microsoft.com/kb/238949/
)
COMO: Definir a biblioteca de rede do SQL Server em uma seqüência de conexão do ADO
270126
(http://support.microsoft.com/kb/270126/
)
PRB: Como gerenciar a conectividade cliente para servidores virtuais do SQL Server 2000 após uma atualização ativa/ativa do cluster 7.0
316779
(http://support.microsoft.com/kb/316779/
)
PRB: Clientes com Forçar criptografia de protocolo definida pode falhar para se conectar com um endereço IP
216643
(http://support.microsoft.com/kb/216643/
)
INF: Opções de conexão ODBC/OLEDB não são vistas ao rastrear conexões para SQL Server 7.0
265808
(http://support.microsoft.com/kb/265808/
)
INF: Como conectar-se a uma instância nomeada do SQL Server 2000 com as ferramentas cliente de versões anteriores
191572
(http://support.microsoft.com/kb/191572/
)
INFO: Gerenciamento de pool de conexão pelos objetos ADO chamados por ASP
313173
(http://support.microsoft.com/kb/313173/
)
Exemplo de gerenciador de pool de conexão para uso com o driver de Microsoft SQL Server 2000 para JDBC
237844
(http://support.microsoft.com/kb/237844/
)
COMO: Habilitar pool de conexão ODBC em um aplicativo ADO do Visual Basic
259569
(http://support.microsoft.com/kb/259569/
)
PRB: Instalar produtos de outras empresas corrompe as configurações do Registro MDAC do Windows 2000
PropriedadesID do artigo: 827422 - Última revisão: segunda-feira, 7 de fevereiro de 2005 - Revisão: 3.2
| Traduções deste artigo |


Voltar para o início








