Freigeben über


Fehler beim Herstellen einer höheren Verbindung mit einer niedrigeren Version von SQL Server mithilfe der SQL Server Linked Server-Funktionalität

Dieser Artikel hilft Ihnen, die Lösung des Konnektivitätsproblems mithilfe der SQL Server Linked Server-Funktionalität von einem Windows Server 2022 oder höher zu einem SQL Server zu finden, der in einer älteren Version von Windows gehostet wird.

Symptome

Dieses Problem kann auftreten, wenn Sie eine Verbindung von einem Windows Server 2022 oder höher mit einem SQL Server herstellen, der mit einer niedrigeren Version von Windows unter Verwendung der SQL Server Linked Server-Funktionalität ausgeführt wird.

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 wurde gezwungen, vom Remotehost unterbrochen zu 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 Remote-Ende gesendet. Dieser Fehler kann die Verbindung beenden. Der vom TLS-Protokoll definierte schwerwiegende Fehlercode ist 40. Der Windows Schannel-Fehlerstatus ist 1205.

Ursache

Das Vorhandensein der Unterstützung für TLS 1.2 kann eine mögliche Ursache für das Problem beim Herstellen einer Verbindung mit 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

Möglicherweise erhalten Sie nach der Installation von Updates auf dem SQL Server 2012-basierten Server die folgende Fehlermeldung:

Die Sprache der SQL Server-Instanz 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.

Notiz

Stellen Sie sicher, dass das Sprachpaket Englisch (USA) installiert ist, bevor Sie die Befehle in diesem Verfahren ausführen.

  1. Öffnen Sie PowerShell.

  2. Führen Sie den folgenden Befehl aus, um die aktuelle Sprachliste abzurufen:

    Get-WinUserLanguageList

  3. Führen Sie den folgenden Befehl aus, um die Sprache als Englisch (USA) festzulegen:

    Set-WinUserLanguageList -LanguageList en-US

  4. Starten Sie den Server neu.

  5. Installieren Sie das SQL Server 2012 SP4-Update .

  6. 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 forcibly geschlossen (Betriebssystemfehler 10054)