При настройке связки 1С:Предприятие 8.3 и MS SQL Server 2022 администраторы часто сталкиваются с ошибкой: «Сервер баз данных не обнаружен Microsoft OLE DB Provider for SQL Server: [DBNETLIB][ConnectionOpen(Connect.)]SQL.Server не существует, или доступ запрещен». Эта проблема может возникать даже при корректно открытых портах и доступности серверов в сети. В данной статье мы разберем причины возникновения этой ошибки и пошагово рассмотрим способы ее решения, опираясь на технические особенности современных версий СУБД и платформы 1С.
Первым делом проанализируем ситуацию с версиями программного обеспечения. В рассматриваемом случае используется платформа 8.3.16.1814. Важно понимать, что MS SQL Server 2022 — это относительно новый продукт, и официальная поддержка этой СУБД появилась в 1С только начиная с версий 8.3.22.1709, 8.3.21.1607 и 8.3.20.2156.
Если мы используем более старую платформу, например 8.3.16, работа с SQL Server 2022 будет осуществляться в режиме «недокументированных возможностей». Это может привести к непредсказуемым ошибкам не только при подключении, но и в процессе реструктуризации таблиц или выполнения сложных запросов. Поэтому, если есть возможность, рассмотрим вариант обновления платформы 1С до актуальных версий.
Одной из главных причин ошибки [DBNETLIB][ConnectionOpen] является отсутствие необходимых компонентов доступа к данным на стороне сервера приложений 1С. Выясним причину: современные ОС и новые версии SQL Server требуют наличия актуальных драйверов для взаимодействия.
Разберем последовательность действий для исправления ситуации с драйверами:
Агент сервера 1С:Предприятия, и на сервер, где развернут MS SQL Server.TrustServerCertificate=yes в строке подключения (хотя 1С напрямую не всегда дает это настроить в консоли).Часто ошибка SQLSTATE = 08001 указывает на то, что клиентская библиотека не может установить соединение по протоколу TCP/IP. Чтобы проанализировать SQL сервер глазами 1С-ника, проверим настройки сетевого взаимодействия в SQL Server Configuration Manager:
SQL Server Network Configuration -> Protocols for MSSQLSERVER.IP Addresses проверим, что в поле IPAll назначен порт 1433. Если поле TCP Dynamic Ports заполнено, значит SQL использует динамические порты, что крайне нежелательно для работы с 1С. Рекомендуется очистить динамические порты и жестко прописать 1433.SERVER\SQLEXPRESS), обязательно проверим, что служба SQL Server Browser запущена. Без нее клиент (1С) не сможет узнать, на каком порту работает именованный экземпляр.Иногда ошибка подключения вызвана некорректной работой службы DNS или особенностями маршрутизации между подсетями. Рассмотрим способ обхода этой проблемы через файл hosts:
На сервере, где установлен Агент сервера 1С, откроем файл по пути C:\Windows\System32\drivers\etc\hosts и добавим в конец строку с IP-адресом и именем сервера SQL:
192.168.1.100 SQLSERVERNAME
Это позволит исключить задержки и ошибки при разрешении сетевого имени сервера баз данных.
Также разберем настройку через утилиту cliconfg.exe. Это системный инструмент Windows для настройки сетевых библиотек SQL:
cliconfg.exe (важно сделать это и для 32-битной, и для 64-битной версии в System32 и SysWOW64).Alias (Псевдоним).Если после установки драйверов ошибка сменилась на «Доступ запрещен», проверим настройки безопасности на уровне SQL Server. Выясним, под какой учетной записью запущена служба ragent (Агент 1С).
Если служба 1С работает от имени системной учетной записи (например, LocalService или NetworkService), а SQL Server находится на другом физическом сервере, авторизация через Windows (Windows Authentication) может не сработать. В этом случае рассмотрим следующие действия:
Security включим режим SQL Server and Windows Authentication mode.sysadmin (для создания баз) или ролями db_owner для конкретной базы.Даже если нам удалось подключиться, старая платформа 1С может выдавать ошибки при работе с ядром SQL 2022. Чтобы минимизировать риски, проанализируем настройки самой базы данных в SSMS:
Properties.Options.Compatibility level. Для SQL Server 2022 по умолчанию стоит уровень 160. Попробуем понизить его до SQL Server 2019 (150) или даже SQL Server 2017 (140). Это заставит оптимизатор запросов SQL работать по логике более старых версий, которые лучше «понимает» платформа 1С 8.3.16.Подводя итог, для успешного запуска 1С на MS SQL Server 2022 выполним следующие ключевые действия:
hosts).Соблюдение этих шагов позволит стабильно настроить работу системы и избежать типичных ошибок авторизации и сетевого взаимодействия. Для комплексной проверки корректности конфигурации базы на сервере баз данных можно использовать обработку для аудита и чек-апа параметров СУБД под 1С.