Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come trovare la soluzione del problema di connettività usando la funzionalità di SQL Server Linked Server da windows Server 2022 o versione successiva a SQL Server ospitata in una versione precedente di Windows.
Sintomi
Questo problema può verificarsi se ci si connette da windows Server 2022 o versione successiva a SQL Server in esecuzione in una versione precedente di Windows usando la funzionalità di SQL Server collegato.
È possibile che venga visualizzato uno dei messaggi di errore seguenti:
[Microsoft OLE DB Driver per SQL Server]: Il client non è in grado di stabilire una connessione
[Microsoft OLE DB Driver per SQL Server]: Provider TCP: una connessione esistente è stata forzata per essere interrotta dall'host remoto.
In questo caso, il server remoto riceve i messaggi TLS quando il server tenta di connettersi a SQL Server. Viene generato un avviso irreversibile e inviato alla fine remota. Questo errore potrebbe terminare la connessione. Il codice di errore irreversibile definito dal protocollo TLS è 40. Lo stato di errore di Windows Schannel è 1205.
Causa
La presenza del supporto per TLS 1.2 può essere una possibile causa del problema di connessione a SQL Server 2012 con le macchine virtuali di Azure.
Risoluzione
Per risolvere questo problema, aggiungere le chiavi del Registro di sistema necessarie seguenti e aggiornare SQL Server a 2012 SP4 in modo che SQL Server 2022 possa connettersi.
[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
È possibile che venga visualizzato il messaggio di errore seguente dopo l'installazione degli aggiornamenti nel server basato su SQL Server 2012:
La lingua dell'istanza di SQL Server MSSQLSERVER non corrisponde alla lingua prevista dall'aggiornamento di SQL Server. La lingua del prodotto SQL Server installato è <un'altra lingua> e la lingua prevista di SQL Server è inglese (Stati Uniti).
Per risolvere questo errore, seguire questa procedura.
Note
Assicurarsi di avere installato il Language Pack inglese (Stati Uniti) prima di eseguire i comandi in questa procedura.
Aprire PowerShell.
Per ottenere l'elenco di lingue corrente, eseguire il comando seguente:
Get-WinUserLanguageListPer impostare la lingua come inglese (Stati Uniti), eseguire il comando seguente:
Set-WinUserLanguageList -LanguageList en-USRiavviare il server.
Installare l'aggiornamento di SQL Server 2012 SP4 .
Riavviare il server.
Per controllare la connettività tramite UDL, vedere Configurazione UDL (Universal Data Link).