segunda-feira, 5 de novembro de 2012

SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified

Fonte:http://blogs.msdn.com/b/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error-locating-server-instance-specified.aspx

Os usuários muitas vezes essa mensagem de erro quando a conexão a um servidor SQL e não sabe por onde começar a resolver o problema. Na maioria dos fóruns, as pessoas diz isso é porque a conexão remota não está habilitado no servidor. Isso não é exatamente correto. Na verdade, esta mensagem de erro dar aos clientes informações muito específicas e que a solução é bastante simples.

Primeiro de tudo, você receber essa mensagem de erro se você está tentando se conectar a um SQL Server instância nomeada. Por exemplo padrão, você nunca vê isso. Por quê? Porque mesmo que não nesta fase (ou seja, erro de localização do servidor / instância especificada), vamos continuar a tentar conectar usando valores padrão, por exemplo defaul porta TCP 1433, nome padrão tubo para Pipes nomeados. Você pode ver outra mensagem de erro devido a falha mais tarde, mas não essa mensagem de erro.

Cada cliente de tempo faz uma conexão com o SQL Server chamado instância, enviaremos um SSRP pacote UDP para o servidor da máquina porta UDP 1434. Precisamos deste passo para saber informações de configuração da instância do SQL, por exemplo, os protocolos habilitado, a porta TCP, etc nome do pipe Sem essas informações, o cliente não sabe como conectar o servidor e ele falhar com esta mensagem de erro especificado.

Numa palavra, o motivo que receber essa mensagem de erro é a pilha do cliente não poderia receber SSRP pacote UDP resposta do SQL Browser. É fácil para isolar o problema. Aqui estão os passos:

1) Verifique se o nome do servidor está correto, por exemplo, nenhum erro de digitação no nome.

2) Verifique se o nome da instância está correto e não há realmente uma instância como em sua máquina-alvo.[Update: Alguns aplicação converte \ \ para \. Se você não tem certeza sobre o seu pedido, por favor tente o Servidor \ Instância e Server \ \ Instância em sua seqüência de conexão ]

3) Certifique-se que a máquina servidor está acessível, por exemplo, podem ser DNS resolver corretamente, você é capaz de executar ping no servidor (nem sempre verdadeira).

4) Faça serviço Navegador certeza SQL está em execução no servidor.

5) Se o firewall estiver habilitado no servidor, você precisa colocar sqlbrowser.exe e / ou porta UDP 1434 em exceção.

Uma vez que você é feito os passos, você não deve ver esta mensagem de erro mais. Você ainda pode deixar de ligar o seu servidor SQL, mas a mensagem de erro deve ser diferente e você tem um problema diferente agora. [ Atualização: Se continuar a falhar, você pode substituir servidor \ instância com tcp: servidor \ instância e / ou np: instância do servidor \ e ver se ele consegue com protocolo TCP ou NP. Dessa forma, você pode isolar o problema um pouco. ]

Há um caso canto onde você ainda pode falhar depois de verificado o passo 1) -4). Isso acontece quando a) o servidor é uma instância nomeada em cluster ou em uma máquina multi-homed, e b) o seu cliente é uma máquina Vista com firewall. Eu expliquei os detalhes em: Unable to connect to a SQL Server named instance on a cluster

[ Atualização maio 2009 ] Meu colega encontrou uma ferramenta online bem que poderia ser muito útil para os usuários de isolar questões relacionadas com esta mensagem de erro. Você pode baixar a partir de PortQry http://support.microsoft.com/kb/832919 , execute "portqry.exe-n nome_do_seu_servidor-p udp-e 1434". Se este comando retorna informações e que contém a instância alvo, então você pode descartar possibilidade 4) e 5) acima, ou seja, você tem um navegador do SQL executado e seu firewall não bloqueia SQL Browser pacote UDP. Neste caso, você pode verificar outra questão, por exemplo, seqüência de conexão errada.

0 comentários :

Enviar um comentário