Compartir a través de


Error al conectar una versión superior a la versión inferior de SQL Server mediante la funcionalidad de SQL Server Linked Server

Este artículo le ayuda a encontrar la solución de problemas de conectividad mediante la funcionalidad de SQL Server Linked Server de windows Server 2022 o posterior a una instancia de SQL Server hospedada en una versión anterior de Windows.

Síntomas

Este problema puede producirse si se está conectando desde Windows Server 2022 o posterior a una instancia de SQL Server que se ejecuta en una versión inferior de Windows mediante la funcionalidad de SQL Server Linked Server.

Es posible que reciba uno de los siguientes mensajes de error:

[Microsoft OLE DB Driver for SQL Server]: El cliente no puede establecer la conexión

[Microsoft OLE DB Driver for SQL Server]: Proveedor TCP: se ha forzado a que el host remoto interrumpa una conexión existente.

Aquí, el servidor remoto recibe los mensajes TLS cuando el servidor intenta conectarse a SQL Server. Se genera una alerta irrecuperable y se envía al extremo remoto. Este error podría finalizar la conexión. El código de error irrecuperable definido por el protocolo TLS es 40. El estado de error de Windows Schannel es 1205.

Causa

La presencia de compatibilidad con TLS 1.2 puede ser una posible causa del problema al conectarse a SQL Server 2012 con las máquinas virtuales de Azure.

Solución

Para resolver este problema, agregue las siguientes claves del Registro necesarias y actualice SQL Server a 2012 SP4 para que SQL Server 2022 pueda conectarse a él.

[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

Es posible que reciba el siguiente mensaje de error después de instalar las actualizaciones en el servidor basado en SQL Server 2012:

El idioma de la instancia de SQL Server MSSQLSERVER no coincide con el idioma esperado por la actualización de SQL Server. El idioma del producto de SQL Server instalado es <otro idioma> y el idioma esperado de SQL Server es inglés (Estados Unidos).

Para resolver este error, siga estos pasos.

Nota:

Asegúrese de que tiene instalado el paquete de idioma inglés (Estados Unidos) antes de ejecutar los comandos en este procedimiento.

  1. Abra PowerShell.

  2. Para obtener la lista de idiomas actual, ejecute el siguiente comando:

    Get-WinUserLanguageList

  3. Para establecer el idioma como inglés (Estados Unidos), ejecute el siguiente comando:

    Set-WinUserLanguageList -LanguageList en-US

  4. Reinicia el servidor.

  5. Instale la actualización de SQL Server 2012 SP4 .

  6. Reinicie el servidor de nuevo.

Para comprobar la conectividad mediante UDL, consulte Configuración del vínculo de datos universal (UDL).

Consulte también

El host remoto cerró forzadamente una conexión existente (error del sistema operativo 10054)