CORRECÇÃO: Mensagem de erro quando liga a uma instância nomeada do SQL Server num computador cliente com o Windows Vista ou o Windows Server 2008: "Especificado pelo SQL server não encontrada" ou "Erro de localização/instância de servidor especificado"

Traduções de Artigos Traduções de Artigos
Artigo: 944390 - Ver produtos para os quais este artigo se aplica.
importante Este artigo contém informações que mostra a ajuda de definições de segurança mais baixas ou como desactivar as funcionalidades de segurança num computador. Pode efectuar estas alterações para contornar um problema específico. Antes de efectuar estas alterações, recomendamos que avalie os riscos associados à implementação desta solução alternativa no seu ambiente específico. Se implementar esta solução alternativa, tome medidas adicionais adequadas para ajudar a proteger o computador.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário. Num computador cliente com o Windows Vista ou o Windows Server 2008, ligue a uma instância nomeada do Microsoft SQL Server. A instância nomeada está localizada num servidor remoto. Neste cenário, a ligação pode falhar.

Nota Este problema ocorre quando se liga a uma das seguintes versões do SQL Server:
  • Microsoft SQL Server 2000
  • Microsoft SQL Server 2005
  • Microsoft SQL Server 2008
Se utilizar o Windows Data Access Components (Windows DAC) 6.0 para ligar a instância nomeada, receberá a seguinte mensagem de erro:
[DBNETLIB]Não foi encontrado um servidor SQL especificado.
[DBNETLIB]ConnectionOpen (Connect()).
Se utilizar o SQL Native Client para ligar a instância nomeada, receberá a seguinte mensagem de erro:
[SQL Native Client]Interfaces de rede SQL: Erro de localização/instância de servidor especificado [xFFFFFFFF].
[SQL Native Client]Expirou o tempo limite de início de sessão.
Este problema ocorre quando a instância nomeada é uma instância de clusters de activação pós-falha. Além disso, este problema poderá ocorrer se o servidor remoto tiver vários endereços IP.

Causa

Quando acede à instância com nome, a biblioteca de rede do cliente envia um pacote de pedido de protocolo de datagrama de utilizador (UDP, User Datagram Protocol) para o endereço IP de instância nomeada. Em seguida, o browser de servidor SQL devolve um pacote de resposta UDP que contém as informações sobre os pontos finais ligação.

No entanto, num pacote de resposta UDP, o endereço de origem pode não ser o endereço IP para o qual foi enviado o pacote de pedido UDP. Se a instância com nome for uma instância de clusters de activação pós-falha, o endereço de origem é o endereço IP do computador físico em vez do endereço IP virtual do servidor remoto. Se o servidor tiver vários endereços IP, o endereço de origem pode ser qualquer dos endereços IP atribuídos ao servidor remoto.

No Windows Vista, o Firewall do Windows não irá permitir para mapeamento de origens latas. Por este motivo, o Firewall do Windows ignora o pacote de resposta UDP.

Para obter mais informações sobre mapeamento de origens latas, consulte a secção "Ligações do UDP" do seguinte Web site da Microsoft:
http://technet2.microsoft.com/WindowsServer/en/library/3ccb6af5-d960-4a8d-b12b-70692dc47bf41033.mspx?mfr=true

Resolução

Informações sobre Service Packs para o SQL Server 2008

importante Aplicar o service pack no servidor remoto com o SQL Server 2008.

Para resolver este problema, obtenha o service pack mais recente do SQL Server 2008. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
968382Como obter o service pack mais recente do SQL Server 2008


Nota A correcção apenas resolve o problema quando SQL server estiver a utilizar o Windows Vista ou sistemas de 2008 de servidor. Para instalações do SQL Server em versões anteriores, tal como o Windows Server 2003, tem de utilizar um dos métodos descritos na secção Wordaround.

Como contornar

Para contornar este problema, utilize um dos seguintes métodos no computador cliente.

Método 1

Na cadeia de ligação, especifique o número da porta TCP ou o nome de pipe nomeado para ligar a instância nomeada.

Para mais informações sobre a sintaxe da cadeia de ligação, consulte a secção "Criar uma cadeia de ligação válida" do seguinte Web site da Microsoft:
http://technet.microsoft.com/en-us/library/ms188635.aspx

Método 2

aviso Esta medida pode tornar um computador ou uma rede mais vulnerável a ataques de utilizadores mal intencionados ou software malicioso como vírus. A Microsoft não recomenda esta medida, mas fornece estas informações para que o utilizador pode implementá-la à sua própria responsabilidade. Usar esta solução por sua conta e risco.

No Firewall do Windows com segurança avançada no painel de controlo, crie uma regra saída para a aplicação que liga ao SQL Server. Para o fazer, siga estes passos:
  1. No painel de controlo, faça duplo clique em Ferramentas administrativas .
  2. No Ferramentas administrativas , faça duplo clique Firewall do Windows com segurança avançada .
  3. Na Firewall do Windows com segurança avançada , clique em Regras de saída e, em seguida, clique em Nova regra .
  4. Clique em programas e, em seguida, clique em seguinte .
  5. Clique em Este caminho do programa , especifique o caminho da aplicação e, em seguida, clique em seguinte .
  6. Clique em Permitir a ligação e, em seguida, clique em seguinte .
  7. Conclua os passos do Assistente de regras Saída novo.

Método 3

aviso Esta medida pode tornar um computador ou uma rede mais vulnerável a ataques de utilizadores mal intencionados ou software malicioso como vírus. A Microsoft não recomenda esta medida, mas fornece estas informações para que o utilizador pode implementá-la à sua própria responsabilidade. Usar esta solução por sua conta e risco.

No Firewall do Windows com segurança avançada no painel de controlo, crie uma regra a receber que permite tráfego de todos os endereços IP possíveis do servidor remoto ou de todos os endereços IP possíveis que estão configurados para a instância de clusters de activação pós-falha. Para o fazer, siga estes passos:
  1. No painel de controlo, faça duplo clique em Ferramentas administrativas .
  2. No Ferramentas administrativas , faça duplo clique Firewall do Windows com segurança avançada .
  3. Na Firewall do Windows com segurança avançada , clique em Regras de entrada e, em seguida, clique em Nova regra .
  4. Clique em Personalizar e, em seguida, clique em seguinte .
  5. Clique em todos os programas e, em seguida, clique em seguinte .
  6. Na lista tipo de protocolo , clique em qualquer e, em seguida, clique em seguinte .
  7. Em é que endereços IP remoto correspondem a esta regra , clique em estes endereços e, em seguida, clique em Adicionar .
  8. Na caixa de diálogo Endereço IP , escreva um dos endereços IP em IP deste endereço ou sub-rede e, em seguida, clique em OK .
  9. Para adicionar outros endereços IP, repita os passos 7 a 8 e, em seguida, clique em seguinte .
  10. Clique em Permitir a ligação e, em seguida, clique em seguinte .
  11. Conclua os passos do Assistente de novo entrada regra.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Este problema foi corrigido pela primeira vez no SQL Server 2008 Service Pack 1.

Mais Informação

Para obter mais informações sobre A Firewall do Windows com segurança avançada , visite o seguinte Web site da Microsoft:
http://technet.microsoft.com/en-us/windowsvista/aa937624.aspx

Propriedades

Artigo: 944390 - Última revisão: 8 de abril de 2009 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Web
Palavras-chave: 
kbmt kbexpertiseadvanced kbtshoot kbprb KB944390 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 944390

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com