Erro ao conectar-se mais alto à versão inferior do SQL Server usando SQL Server funcionalidade do Linked Server
Este artigo ajuda você a encontrar a solução de problema de conectividade usando SQL Server funcionalidade do Linked Server de um Windows Server 2022 ou mais recente para um SQL Server hospedado em uma versão mais antiga do Windows.
Sintomas
Esse problema pode ocorrer se você estiver se conectando de um Windows Server 2022 ou posterior a um SQL Server em execução em uma versão inferior do Windows usando a funcionalidade SQL Server Linked Server.
Você pode receber uma das seguintes mensagens de erro:
[Driver do Microsoft OLE DB para SQL Server]: Cliente não pode estabelecer conexão
[Driver do Microsoft OLE DB para SQL Server]: Provedor TCP: uma conexão existente foi forçada a ser interrompida pelo host remoto.
Aqui, o servidor remoto recebe as mensagens TLS quando o servidor tenta se conectar a SQL Server. Um alerta irrecuperável é gerado e enviado para a extremidade remota. Esse erro pode encerrar a conexão. O código de erro fatal definido pelo protocolo TLS é 40. O erro do Windows Schannel status é 1205.
Motivo
A presença de suporte para o TLS 1.2 pode ser uma possível causa do problema na conexão ao SQL Server 2012 com as máquinas virtuais do Azure.
Resolução
Para resolve esse problema, adicione as seguintes chaves de registro necessárias e atualize SQL Server para 2012 SP4 para que SQL Server 2022 possa se conectar a ele.
[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
Você pode receber a seguinte mensagem de erro depois de instalar atualizações no servidor baseado em SQL Server 2012:
O idioma da instância de SQL Server MSSQLSERVER não corresponde ao idioma esperado pela atualização SQL Server. O idioma do produto SQL Server instalado é <outro Idioma> e o idioma SQL Server esperado é inglês (Estados Unidos).
Para resolve esse erro, siga estas etapas.
Observação
Verifique se você tem o pacote de idiomas em inglês (Estados Unidos) instalado antes de executar os comandos neste procedimento.
Abra o PowerShell.
Para obter a lista de idiomas atual, execute o seguinte comando:
Get-WinUserLanguageList
Para definir o idioma como inglês (Estados Unidos), execute o seguinte comando:
Set-WinUserLanguageList -LanguageList en-US
Reiniciar o servidor.
Instale a atualização do SQL Server 2012 SP4.
Reinicie o servidor novamente.
Para marcar a conectividade usando UDL, consulte Configuração do UDL (Universal Data Link).
Confira também
Uma conexão existente foi fechada à força pelo host remoto (erro do sistema operacional 10054)
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários