Поделиться через


Ошибка при подключении выше к более низкой версии SQL Server с помощью функций связанного сервера SQL Server

В этой статье показано, как найти решение проблемы с подключением с помощью функций связанного сервера SQL Server из Windows Server 2022 или более поздней версии к SQL Server, размещенной в более старой версии Windows.

Симптомы

Эта проблема может возникнуть, если вы подключаетесь из Windows Server 2022 или более поздней версии к SQL Server, работающему в более низкой версии Windows, используя функциональные возможности связанного сервера SQL Server.

Может появиться одно из следующих сообщений об ошибках:

[Драйвер MICROSOFT OLE DB для SQL Server]: клиент не может установить подключение

[Драйвер Microsoft OLE DB для SQL Server]: поставщик TCP: существующее подключение было вынуждено прервано удаленным узлом.

Здесь удаленный сервер получает сообщения TLS, когда сервер пытается подключиться к SQL Server. Неустранимое оповещение создается и отправляется в удаленный конец. Эта ошибка может завершить подключение. Протокол TLS, определенный неустранимой ошибкой, равен 40. Состояние ошибки Windows Schannel — 1205.

Причина

Наличие поддержки TLS 1.2 может быть возможной причиной проблемы при подключении к SQL Server 2012 с виртуальными машинами Azure.

Решение

Чтобы устранить эту проблему, добавьте следующие необходимые разделы реестра и обновите SQL Server до 2012 с пакетом обновления 4 (SP4), чтобы SQL Server 2022 смог подключиться к нему.

[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

После установки обновлений на сервере на основе SQL Server 2012 может появиться следующее сообщение об ошибке:

Язык MSSQLSERVER экземпляра SQL Server не соответствует языку, ожидаемому обновлением SQL Server. Язык установленного продукта SQL Server является <другим языком> и ожидаемым языком SQL Server является английский (США).

Чтобы устранить эту ошибку, выполните следующие действия.

Примечание.

Перед выполнением команд в этой процедуре убедитесь, что у вас установлен языковой пакет (США).

  1. Откройте средство PowerShell.

  2. Чтобы получить текущий список языков, выполните следующую команду:

    Get-WinUserLanguageList

  3. Чтобы задать язык как английский (США), выполните следующую команду:

    Set-WinUserLanguageList -LanguageList en-US

  4. Перезапустите сервер.

  5. Установите обновление SQL Server 2012 с пакетом обновления 4 (SP4 ).

  6. Перезапустите сервер снова.

Чтобы проверить подключение с помощью UDL, см . конфигурацию универсального канала данных (UDL).

См. также

Существующее подключение было принудительно закрыто удаленным узлом (ошибка ОС 10054)