Ошибка при подключении выше к более низкой версии 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 является английский (США).
Чтобы устранить эту ошибку, выполните следующие действия.
Примечание.
Перед выполнением команд в этой процедуре убедитесь, что у вас установлен языковой пакет (США).
Откройте средство PowerShell.
Чтобы получить текущий список языков, выполните следующую команду:
Get-WinUserLanguageList
Чтобы задать язык как английский (США), выполните следующую команду:
Set-WinUserLanguageList -LanguageList en-US
Перезапустите сервер.
Установите обновление SQL Server 2012 с пакетом обновления 4 (SP4 ).
Перезапустите сервер снова.
Чтобы проверить подключение с помощью UDL, см . конфигурацию универсального канала данных (UDL).
См. также
Существующее подключение было принудительно закрыто удаленным узлом (ошибка ОС 10054)