Mensagem de erro quando tenta ligar a uma instância do SQL Server 2005: "está no processo na outra extremidade do pipe" ou "uma ligação existente forçosamente foi fechada pelo anfitrião remoto"

Traduções de Artigos Traduções de Artigos
Artigo: 919710 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário. Uma instância do Microsoft SQL Server 2005 está instalada no computador que está a executar o Microsoft Windows XP ou Microsoft Windows 2000. Tente ligar a instância. Neste cenário, recebe uma das seguintes mensagens de erro consoante o protocolo que utilizar para a ligação:
  • Quando tenta ligar à instância utilizando o protocolo de pipes nomeados ou o protocolo de memória partilhada, receberá a seguinte mensagem de erro:
    Nenhum processo é na outra extremidade do pipe.
  • Quando tenta ligar à instância utilizando o protocolo TCP/IP, receberá a seguinte mensagem de erro:
    Forçar uma ligação existente foi fechada pelo anfitrião remoto.

Causa

Este problema ocorre porque um certificado com a especificação de chave AT_SIGNATURE é utilizado para encriptação de camada segura de sockets (SSL) para a instância. Um certificado com a especificação de chave AT_SIGNATURE não pode ser utilizado para encriptação de SSL no SQL Server 2005. Num computador com o Microsoft Windows Server 2003, o certificado é reconhecido como não é válido. Por conseguinte, o serviço SQL Server não carrega o certificado e o serviço não é iniciado. No entanto, num computador com o Windows XP ou Windows 2000, o serviço SQL Server carrega o certificado e o serviço é iniciado com êxito. Este comportamento faz com que a ligação falhar.

Resolução

Para resolver este problema, utilize um certificado válido. Tem de utilizar um certificado com a especificação de chave AT_EXCHANGE.

Pode examinar a especificação de chave do certificado utilizando o utilitário Certutil (certutil.exe). Para o fazer, siga estes passos:
  1. Numa linha de comandos, execute o seguinte comando:
    Certutil - v arquivo meu - CertificateSerialNumber
    Nota Neste comando, CertificateSerialNumber é um marcador de posição para o número de série do certificado que especificou para a instância. Para obter o número de série do certificado, localize a seguinte subchave do registo e, em seguida, obtenha o valor da entrada de registo de certificados:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib
  2. No texto do resultado, localize uma secção semelhante à seguinte:
    CERT_KEY_PROV_INFO_PROP_ID(2):
    Contentor de chaves = c3748a7420955ed4ee1dffb26484a0df_64756357-bf11-4528-b106-59c407d8a6e8
    Fornecedor Microsoft RSA SChannel Cryptographic Provider =
    ProviderType = c
    Sinalizadores = 60
    KeySpec = 1
    Para um certificado válido, a propriedade KeySpec tem um valor de 1. Se a propriedade KeySpec tem um valor de 2, o certificado tem a especificação de chave AT_SIGNATURE. Por conseguinte, detecta o problema mencionado na secção "Sintomas" quando utiliza o certificado.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Recomendamos vivamente que utilize o SQL Server Configuration Manager para especificar um certificado para uma instância. SQL Server Configuration Manager apresenta apenas os certificados que são válidos para utilizados pelo servidor. Por conseguinte, pode evitar seleccionar um certificado que não é válido.

Propriedades

Artigo: 919710 - Última revisão: 20 de novembro de 2007 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard X64 Edition
Palavras-chave: 
kbmt kbsql2005connect kbsql2005engine kbtshoot kbexpertiseadvanced kbprb KB919710 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: 919710

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