Acabei de instalar o SQL Server Express 2012 no meu servidor doméstico. Estou tentando conectar a ele no Visual Studio 2012 no meu PC de mesa e obtendo repetidamente o erro conhecido:
Ocorreu um erro relacionado à rede ou à instância ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: provedor de pipes nomeados, erro: 40 - não foi possível abrir uma conexão com o SQL Server)
O que eu fiz para tentar corrigir isso:
- Execute o SQL Server Configuration Manager no servidor e ative o SQL Server Browser
- Adicione uma exceção do Firewall do Windows no servidor para TCP, portas 1433 e 1434 na sub-rede local.
- Verifique se eu tenho um logon na instância do SQL Server para o usuário no qual estou conectado como na área de trabalho.
- Verifique se estou usando a autenticação do Windows na instância do SQL Server.
- Reinicie repetidamente o SQL Server e todo o servidor dang.
- Puxe todo o meu cabelo.
Como posso obter o SQL Server 2012 Express para permitir conexões remotas !?
Respostas:
Bem, feliz que eu perguntei . A solução que finalmente descobri estava aqui:
Como faço para configurar o SQL Server Express para permitir conexões remotas TCP / IP na porta 1433?
Até agora, tão bom e totalmente esperado. Mas então:
(Além disso, se você seguir estas etapas, é não necessário habilitar o SQL Server Browser e você só precisará permitir a porta 1433, não 1434.)
Essas cinco etapas extras são algo que não me lembro de ter feito em uma versão anterior do SQL Server, Express ou de outra forma. Eles parecem ter sido necessários porque estou usando uma instância nomeada (myservername \ SQLEXPRESS) no servidor em vez de uma instância padrão. Veja aqui:
Configurar um servidor para escutar em uma porta TCP específica (SQL Server Configuration Manager)
fonte
IPAll
configuração foi o conselho da SALVADOR! O meu era como o seu ...: Dmyserver\sqlexpress,[portnumber]
sem os suportes. Observe que é,
e não:
A maneira correta de conectar-se ao SQL Server remoto (sem abrir a porta UDP 1434 e ativar o SQL Server Browser) é usar ip e porta em vez da instância nomeada .
Usar ip e port em vez da instância nomeada também é mais seguro, pois reduz a área da superfície de ataque.
Talvez 2 imagens falem 2000 palavras ...
Este método usa a porta especificada (é nisso que a maioria das pessoas quer que eu acredite).
Este método requer a abertura da porta UDP 1434 e o SQL Server Browser em execução.
fonte
Mais uma coisa...
A Kyralessa fornece ótimas informações, mas tenho uma outra coisa a acrescentar onde fiquei perplexo mesmo após este artigo.
Em Configuração de rede do SQL Server> Protocolos para servidor> TCP / IP ativado. Clique com o botão direito do mouse em TCP / IP e escolha propriedades. Sob os endereços IP, você precisa definir Ativado como Sim para cada tipo de conexão que você está usando.
fonte
Você pode usar isso para resolver este problema:
Vá para INICIAR> EXECUTAR e execute CLICONFG.EXE.
O protocolo de pipes nomeados será o primeiro da lista. Remova-o e promova o TCP / IP.
Teste o aplicativo completamente.
Espero que isso ajude.
fonte
Você também pode definir
na caixa de diálogo do protocolo e depois no endereço IP IP1 (digamos)
fonte
Este artigo me ajudou ...
Como habilitar conexões remotas no SQL Server
Tudo no SQL Server foi configurado, meu problema foi que o firewall estava bloqueando a porta 1433
fonte
Eu tive esse problema recentemente. 2015 ago
Resolvido abrindo o SQL Server Configuration Manager
Pode conectar-se ao SQL Server Manager na máquina: [hostaddress], 1433
Exemplo:
fonte
Na minha instalação do SQL Server 2012 Developer Edition, instalada com configurações padrão, eu apenas precisei carregar o Gerenciador de Configuração do SQL Server -> Configuração de Rede do SQL Server -> Protocolos para MSSQLSERVER e alterar o TCP / IP de Desativado para Ativado.
fonte
Eu tive que adicionar uma regra de porta de entrada do firewall para abrir a porta UDP 1434. Este é o navegador do Sql Server.
fonte
Eu prefiro o modo "Rosdi Kasim", pois isso não requer configuração de detalhes no IP.
Definitivamente vou esquecê-lo novamente quando tentar instalar outro servidor novamente.
Mantenha o Simple Stupid (KISS) simplesmente ativando o serviço Sql Server Browser e adicione o \ SQLEXPRESS atrás do IP ao conectar o servidor.
O uso direto de IP sem "\ SQLEXPRESS" foi meu ponto de falha, pois não usa a porta padrão.
Obrigado.
fonte
Eu tive o mesmo problema com o SQL Server 2014 instalado localmente instância nomeada. Conectar usando o
FQDN\InstanceName
falharia, enquanto conectar usando apenas o meuhostname\InstanceName
funcionou. Por exemplo: conectando usandomycomputername\sql2014
funcionou, mas usandomycomputername.mydomain.org\sql2014
não. DNS resolvido corretamente, TCP / IP foi ativado no SQL Configuration Manager, adicionadas regras do Firewall do Windows (e depois desativado o firewall para teste para garantir que não estava bloqueando nada), mas nenhum deles corrigiu o problema.Por fim, tive que iniciar o serviço " SQL Server Browser " no SQL Server e isso corrigiu o problema de conectividade.
Eu nunca havia percebido que o serviço Navegador do SQL Server realmente ajudava o SQL Server a fazer conexões; Fiquei com a impressão de que ele simplesmente ajudou a preencher as listas suspensas quando você clicou em "procurar mais" servidores para se conectar, mas na verdade ajuda a alinhar as solicitações do cliente com o número da porta correto a ser usado, se o número da porta não for atribuído explicitamente (semelhante como as ligações do site ajudam a aliviar o mesmo problema em um servidor Web IIS que hospeda vários sites).
Este item de conexão foi o que me deu a pista sobre o serviço Navegador do SQL Server: https://connect.microsoft.com/SQLServer/feedback/details/589901/unable-to-connect-on-localhost-using-fqdn-machine- nome
O motivo do serviço "Navegador do SQL Server" do TechNet (ênfase adicionada por mim): https://technet.microsoft.com/en-us/library/ms181087(v=sql.120).aspx
Na seção "Usando o SQL Server Browser":
E mais informações do mesmo artigo da seção "Como o navegador do SQL Server funciona":
fonte
Eu tive que adicionar porta via Gerenciador de Configurações e adicionar o número da porta na minha conexão sql [host] \ [nome da instância db], 1433
Observe a (vírgula) entre o nome da instância e a porta
fonte
Eu tive um problema diferente do que todas as respostas mencionadas até agora!
Eu deveria começar dizendo que o tinha no Visual Studio, e não no SQL Server Express, mas a solução deve ser exatamente a mesma.
Bem, Deus, é realmente muito simples e talvez um pouco tolo. Quando tentei criar um banco de dados e o Visual Studio sugeriu o nome do SQL Server, ele me deu meu nome de usuário do Windows e, como é realmente o nome do servidor, fui para ele.
Na realidade, era realmente o meu nome de usuário do Windows +
\SQLEXPRESS
. Se você não alterou nenhuma configuração, provavelmente essa também é sua. Se funcionar, pare de ler; esta é a minha resposta. Se não funcionar, talvez o nome seja diferente.Se, como eu, você tiver esse problema no Visual Studio para verificar qual é o seu, siga estas etapas:
Este é o nome do servidor e é com isso que você deve tentar se conectar! não é o que o Visual Studio sugere!
fonte
Mais uma coisa a verificar é que você digitou a instância nomeada corretamente!
Este artigo é muito útil para solucionar problemas de conexão: Como solucionar problemas de conexão com o mecanismo de banco de dados do SQL Server
fonte
No meu caso, o banco de dados estava sendo executado em uma porta não padrão. Verifique se a porta que você está conectando é a mesma que a porta em que o banco de dados está sendo executado. Se houver mais instâncias do servidor SQL, verifique a correta.
fonte
Tudo que você precisa fazer é abrir a porta relevante no firewall do servidor.
fonte
Está tendo problemas para se conectar ao SQL Server?
Tente desconectar o firewall.
Se você pode se conectar com o firewall desconectado, pode haver algumas regras de entrada como "sql service broker", adicione estas regras ao seu firewall:
"SQL ADMIN CONNECTION" TCP PORT 1434
PORTA UDP "SQL ADMIN CONNECTION"
"SQL ANALYSIS SERVICE" TCP PORT 2383
"SQL BROWSE ANALYSIS SERVICE" TCP PORT 2382
"TCP DEBUGGER / RPC" TCP PORT 135
"SQL SERVER" TCP PORT 1433 e outros se você tiver portas dinâmicas
"SQL SERVICE BROKER" PORT TCP 4022
fonte