При разворачивании трехзвенной архитектуры 1С (терминальный сервер RDP, сервер приложений 1С:Предприятие и сервер баз данных MS SQL Server на разных компьютерах) системные администраторы часто сталкиваются с ситуацией, когда при попытке создания или открытия информационной базы выдается ошибка: «При попытке подключения к базе выдается сообщение об ошибке при обращении к SQL серверу, возможно не установлен microsoft sql server native client».
Разберем подробно, с чем связано такое поведение платформы 1С, почему раньше система работала без установки дополнительных компонентов, а также рассмотрим технические нюансы выборa и настройки драйверов СУБД.
Проанализируем причины, по которым платформе 1С потребовался внешний драйвер клиенсткой части MS SQL Server:
SQLOLEDB. Данный провайдер является устаревшим, не поддерживает современные протоколы защищенного взаимодействия (TLS 1.2 и TLS 1.3), а также не умеет работать с новыми типами данных MS SQL Server.SQL Server Native Client (а позже — на MSOLEDBSQL). Это позволило задействовать новые возможности оптимизации запросов и расширенную работу с типами данных Microsoft SQL Server.Рассмотрим важные технические особенности, которые необходимо учитывать при настройке связки сервера 1С и MS SQL Server:
1. Соответствие разрядности драйвера и рабочего процесса 1С
Главное правило: разрядность устанавливаемого драйвера СУБД должна строго соответствовать разрядности рабочего процесса сервера 1С (rphost), а не разрядности установленного MS SQL Server. Если служба сервера 1С развернута как 64-разрядное приложение, то на компьютер с сервером 1С необходимо устанавливать 64-битный драйвер. Если сервер 1С 32-разрядный, требуется 32-битная версия драйвера.
2. Использование актуального провайдера MSOLEDBSQL
Компания Microsoft объявила SQL Server Native Client (sqlncli) устаревшим компонентом (в MS SQL Server 2022 он окончательно удален из состава дистрибутива). На актуальных версиях платформы 1С рекомендуется устанавливать современный драйвер Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL).
3. Особенности версий MSOLEDBSQL 18 и 19
При использовании драйвера MSOLEDBSQL версии 19 следует учитывать, что по умолчанию в нем включено обязательное шифрование соединения и проверка сертификатов сервера. Если на MS SQL Server не установлен действительный SSL/TLS-сертификат, сервер 1С вернет ошибку защищенного подключения. Чтобы избежать этой проблемы, можно использовать драйвер MSOLEDBSQL версии 18 или настроить параметры доверия к сертификату сервера.
4. Работа сервера 1С под управлением Linux
Если сервер приложений 1С размещен на операционной системе Linux и подключается к MS SQL Server под управлением Windows, OLE DB провайдеры не применяются. В таком случае на Linux-сервер 1С необходимо установить менеджер драйверов unixODBC и драйвер Microsoft ODBC Driver for SQL Server (msodbcsql).
rphost) в диспетчере задач или консоли кластера.MSOLEDBSQL или SQL Server Native Client) нужной разрядности.