Chybová zpráva při pokusu o připojení k instanci serveru SQL Server 2005: "žádný proces je na druhém konci kanálu" nebo "existující připojení bylo vynuceně ukončeno vzdáleným hostitelem"

Příznaky

Zvažte následující scénář. Instance 2005 Microsoft SQL Server je nainstalována v počítači se systémem Microsoft Windows XP nebo Microsoft Windows 2000. Pokoušíte se připojit k instanci. V tomto scénáři obdržíte jednu z následujících chybových zpráv v závislosti na protokol, který používáte pro připojení:
  • Při pokusu o připojení k instanci pomocí protokol pojmenovaných kanálů nebo protokol sdílené paměti, zobrazí se následující chybová zpráva:
    Na druhém konci kanálu je žádný proces.
  • Při pokusu o připojení k instanci pomocí protokolu TCP/IP, zobrazí následující chybová zpráva:
    Existující připojení bylo vynuceně ukončeno vzdáleným hostitelem.

Příčina

K tomuto problému dochází, protože certifikát, který má specifikace klíče AT_SIGNATURE byl se používá pro šifrování protokol SSL (Secure Sockets Layer) (SSL) pro instanci. Certifikát, který má specifikace klíče AT_SIGNATURE byl nelze použít pro šifrování SSL na serveru SQL Server 2005. V počítači se systémem Microsoft Windows Server 2003 certifikát je rozpoznán jako neplatné. Proto služby SQL Server načíst certifikát a služba nespustí. Však v počítači se systémem Windows XP nebo Windows 2000, služba SQL Server načítá certifikát a úspěšně spustí službu. Toto chování způsobí selhání připojení.

Řešení

Chcete-li vyřešit tento problém, použijte platný certifikát. Je nutné použít certifikát, který má specifikace klíče AT_EXCHANGE.

Specifikace klíče certifikátu můžete zkontrolovat pomocí nástroje Certutil (Certutil.exe). Chcete-li to provést, postupujte takto:
  1. Na příkazovém řádku spusťte následující příkaz:
    Certutil-store - v mé -CertificateSerialNumber
    Poznámka: CertificateSerialNumber v tomto příkazu je zástupný symbol pro sériové číslo certifikátu, který zadáte pro instanci. Získat sériové číslo certifikátu, vyhledejte následující podklíč registru a pak získat hodnotu položky registru certifikátu:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib
  2. V textu výsledek vyhledejte část, která se podobá následující:
    CERT_KEY_PROV_INFO_PROP_ID(2):

    Kontejner klíčů = c3748a7420955ed4ee1dffb26484a0df_64756357-bf11-4528-b106-59c407d8a6e8

    Zprostředkovatel Microsoft RSA SChannel Cryptographic Provider =

    Typ zprostředkovatele = c

    Příznaky = 60

    KeySpec = 1
    Vlastnost KeySpec pro platný certifikát má hodnotu 1. Pokud má vlastnost KeySpec hodnotu 2, certifikát má specifikace klíče AT_SIGNATURE byl. Proto vyskytnout problém, který je uveden v části "Příznaky" při použití certifikátu.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Další informace

Důrazně doporučujeme zadat certifikát pro instanci pomocí SQL Server Správce konfigurace. SQL Server Správce konfigurace zobrazí pouze certifikáty, které jsou platné pro použití na serveru. Proto můžete předejít výběrem certifikátu, který není platný.
Vlastnosti

ID článku: 919710 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor