Fehler beim Herstellen einer Verbindung mit einer höheren version von SQL Server mithilfe der SQL Server-Verbindungsserver-Funktionalität
Dieser Artikel hilft Ihnen, die Lösung eines Konnektivitätsproblems zu finden, indem Sie SQL Server Verbindungsserver-Funktionalität von einem Windows Server 2022 oder höher zu einem SQL Server, das unter einer älteren Version von Windows gehostet wird, verwenden.
Problembeschreibung
Dieses Problem kann auftreten, wenn Sie eine Verbindung von einem Windows Server 2022 oder höher mit einer SQL Server herstellen, die unter einer niedrigeren Version von Windows ausgeführt wird, indem Sie die SQL Server-Verbindungsserver-Funktionalität verwenden.
Möglicherweise erhalten Sie eine der folgenden Fehlermeldungen:
[Microsoft OLE DB-Treiber für SQL Server]: Client kann keine Verbindung herstellen
[Microsoft OLE DB-Treiber für SQL Server]: TCP-Anbieter: Eine vorhandene Verbindung muss vom Remotehost unterbrochen werden.
Hier empfängt der Remoteserver die TLS-Nachrichten, wenn der Server versucht, eine Verbindung mit SQL Server herzustellen. Eine nicht wiederherstellbare Warnung wird generiert und an das Remoteende gesendet. Dieser Fehler kann die Verbindung beenden. Der vom TLS-Protokoll definierte schwerwiegende Fehlercode ist 40. Der Windows Schannel-Fehler status ist 1205.
Ursache
Das Vorhandensein von Unterstützung für TLS 1.2 kann eine mögliche Ursache für das Problem beim Herstellen einer Verbindung mit der SQL Server 2012 mit den virtuellen Azure-Computern sein.
Lösung
Um dieses Problem zu beheben, fügen Sie die folgenden erforderlichen Registrierungsschlüssel hinzu, und aktualisieren Sie SQL Server auf 2012 SP4, damit SQL Server 2022 eine Verbindung damit herstellen kann.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
Nach der Installation von Updates auf dem SQL Server 2012-basierten Server wird möglicherweise die folgende Fehlermeldung angezeigt:
Die Sprache des SQL Server instance MSSQLSERVER stimmt nicht mit der Sprache überein, die vom SQL Server Update erwartet wird. Die Sprache des installierten SQL Server Produkts ist <eine andere Sprache>, und die erwartete SQL Server Sprache ist Englisch (USA).
Führen Sie die folgenden Schritte aus, um diesen Fehler zu beheben.
Hinweis
Stellen Sie sicher, dass das Sprachpaket Englisch (USA) installiert ist, bevor Sie die Befehle in diesem Verfahren ausführen.
Öffnen Sie Windows PowerShell.
Führen Sie den folgenden Befehl aus, um die aktuelle Sprachliste abzurufen:
Get-WinUserLanguageList
Um die Sprache auf Englisch (USA) festzulegen, führen Sie den folgenden Befehl aus:
Set-WinUserLanguageList -LanguageList en-US
Starten Sie den Server neu.
Installieren Sie das SQL Server 2012 SP4-Update.
Starten Sie den Server erneut neu.
Informationen zum Überprüfen der Konnektivität mithilfe von UDL finden Sie unter UDL-Konfiguration (Universal Data Link).
Siehe auch
Eine vorhandene Verbindung wurde vom Remotehost erzwungen geschlossen (Betriebssystemfehler 10054)