Det gick inte att ansluta högre till en lägre version av SQL Server med hjälp av SQL Server Linked Server-funktioner
Den här artikeln hjälper dig att hitta lösningen på anslutningsproblem med hjälp av SQL Server Linked Server-funktioner från en Windows Server 2022 eller senare till en SQL Server som finns i en äldre version av Windows.
Symptom
Det här problemet kan inträffa om du ansluter från en Windows Server 2022 eller senare till en SQL Server som körs på en lägre version av Windows med hjälp av sql server-funktionen länkad server.
Du kan få något av följande felmeddelanden:
[Microsoft OLE DB-drivrutin för SQL Server]: Klienten kan inte upprätta anslutning
[Microsoft OLE DB-drivrutin för SQL Server]: TCP-provider: En befintlig anslutning har tvingats avbrytas av fjärrvärden.
Här tar fjärrservern emot TLS-meddelandena när servern försöker ansluta till SQL Server. En oåterkallelig avisering genereras och skickas till fjärrslutet. Det här felet kan avsluta anslutningen. TLS-protokollets definierade kod för allvarligt fel är 40. Windows Schannel-felstatusen är 1205.
Orsak
Förekomsten av stöd för TLS 1.2 kan vara en möjlig orsak till problemet vid anslutning till SQL Server 2012 med de virtuella Azure-datorerna.
Åtgärd
Lös problemet genom att lägga till följande nödvändiga registernycklar och uppdatera SQL Server till 2012 SP4 så att SQL Server 2022 kan ansluta till den.
[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
Du kan få följande felmeddelande när du har installerat uppdateringar på den SQL Server 2012-baserade servern:
Språket för SQL Server-instansen MSSQLSERVER matchar inte det språk som förväntas av SQL Server-uppdateringen. Språket för den installerade SQL Server-produkten är <annat språk> och det förväntade SQL Server-språket är engelska (USA).
Följ dessa steg för att lösa det här felet.
Kommentar
Kontrollera att du har det engelska språkpaketet (USA) installerat innan du kör kommandona i den här proceduren.
Öppna PowerShell.
Kör följande kommando för att hämta den aktuella språklistan:
Get-WinUserLanguageList
Om du vill ange språket som engelska (USA) kör du följande kommando:
Set-WinUserLanguageList -LanguageList en-US
Starta om servern.
Starta om servern igen.
Information om hur du kontrollerar anslutningen med hjälp av UDL finns i UDL-konfigurationen (Universal Data Link).
Se även
En befintlig anslutning stängdes med två skäl av fjärrvärden (OS-fel 10054)