O SQL Server pode ser conectado a partir do sistema local, mas não pode ser conectado a partir de um sistema remoto na rede. O código de erro é 40 do Visual Studio e 1326 quando tento me conectar ao SQL Server pelo Management Studio.
- Firewall não é o problema
- A conexão TCP/IP está habilitada no SQL Server
- Existem 2 terminais de PC que podem se conectar ao SQL Server, mas o terceiro não pode e usa as mesmas cadeias de conexão para que a cadeia de conexão esteja correta
É SQL Server 2000
Qualquer ajuda será apreciada, obrigado
Responder1
Tente conectar-se a partir do ODBC (painel de controle, admin, odbc, conexão de novo usuário). Tente criar uma conexão e teste-a no final do assistente. Se funcionar, o problema está relacionado à cadeia de conexão OLEDB,
etc.
- um problema de DNS (ao fazer ping, certifique-se de que o endereço IP correto retorne)
- um problema de permissões do servidor (veja se você consegue mapear uma unidade para o SQL Server e tente sua conexão novamente)
- um problema de permissão SQL (verifique o painel de segurança SQL, certifique-se de que o usuário tenha permissão db_reader (mínimo) para seu banco de dados padrão)
- um alias SQL incorreto (no assistente ODBC, em informações de conexão, certifique-se de que o nome do servidor esteja listado apenas uma vez. Se estiver lá várias vezes, você pode instalar as ferramentas de configuração do cliente SQL e remover todos os aliases extras do SQL Server, que podem estar redirecionando o [nome do servidor] para uma máquina diferente ou protocolo inválido por padrão).
Responder2
tente fazer ping no servidor a partir do terceiro terminal para ver se a conexão está ativa entre eles
Responder3
Existem alguns motivos para o erro 40. Vejaaqui para mais informações.
Responder4
Ambos os erros 40 e 1326 sugerem um erro de pipe nomeado, não um erro de TCP. Como você mencionou que seu servidor tem TCP habilitado, mas não diz nada sobre pipes nomeados, sugiro que você retire os pipes nomeados da equação. Se você não desabilitar explicitamente os pipes nomeados, os clientes sempre tentarão esse protocolo primeiro e encontrarão vários erros, pois os pipes nomeados exigem conectividade SMB e autenticação de domínio na camada de compartilhamento de arquivosanteschegando até mesmo ao SQL Server. Você tem dois caminhos:
- desabilitar pipes nomeados completamente no cliente. VerConfigurando protocolos de rede cliente.
- force tcp na cadeia de conexão, use a
tcp:servername
sintaxe para a parte do nome do servidor na cadeia de conexão, consulteComo usar o parâmetro de nome do servidor em uma cadeia de conexão para especificar a biblioteca de rede do cliente.