Как устранить ошибку «Сервер баз данных не обнаружен» при подключении 1С 8.3 к MS SQL Server 2022?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При настройке связки 1С:Предприятие 8.3 и MS SQL Server 2022 администраторы часто сталкиваются с ошибкой: «Сервер баз данных не обнаружен Microsoft OLE DB Provider for SQL Server: [DBNETLIB][ConnectionOpen(Connect.)]SQL.Server не существует, или доступ запрещен». Эта проблема может возникать даже при корректно открытых портах и доступности серверов в сети. В данной статье мы разберем причины возникновения этой ошибки и пошагово рассмотрим способы ее решения, опираясь на технические особенности современных версий СУБД и платформы 1С.

Проверка совместимости версий платформы 1С и SQL Server 2022

Первым делом проанализируем ситуацию с версиями программного обеспечения. В рассматриваемом случае используется платформа 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С до актуальных версий.

Решение проблемы с драйверами: SQL Server Native Client

Одной из главных причин ошибки [DBNETLIB][ConnectionOpen] является отсутствие необходимых компонентов доступа к данным на стороне сервера приложений 1С. Выясним причину: современные ОС и новые версии SQL Server требуют наличия актуальных драйверов для взаимодействия.

Разберем последовательность действий для исправления ситуации с драйверами:

  1. Проверим наличие Microsoft SQL Server Native Client (SNAC). Несмотря на то, что Microsoft прекратила активное развитие этого драйвера, платформа 1С (особенно старых сборок) продолжает обращаться именно к нему.
  2. Установим соответствующую версию Native Client на оба сервера: и на сервер, где работает служба Агент сервера 1С:Предприятия, и на сервер, где развернут MS SQL Server.
  3. Если используется SQL Server 2022, рекомендуется также установить Microsoft OLE DB Driver для SQL Server (msoledbsql) версии 18 или 19. Обратите внимание, что в 19-й версии драйвера по умолчанию включено шифрование, что может потребовать дополнительной настройки TrustServerCertificate=yes в строке подключения (хотя 1С напрямую не всегда дает это настроить в консоли).

Настройка сетевых протоколов и службы SQL Browser

Часто ошибка SQLSTATE = 08001 указывает на то, что клиентская библиотека не может установить соединение по протоколу TCP/IP. Чтобы проанализировать SQL сервер глазами 1С-ника, проверим настройки сетевого взаимодействия в SQL Server Configuration Manager:

  1. Откроем раздел SQL Server Network Configuration -> Protocols for MSSQLSERVER.
  2. Убедимся, что протокол TCP/IP находится в статусе Enabled. По умолчанию в новых инсталляциях SQL Server он может быть выключен.
  3. В свойствах TCP/IP на вкладке IP Addresses проверим, что в поле IPAll назначен порт 1433. Если поле TCP Dynamic Ports заполнено, значит SQL использует динамические порты, что крайне нежелательно для работы с 1С. Рекомендуется очистить динамические порты и жестко прописать 1433.
  4. Если MS SQL Server установлен как именованный экземпляр (например, SERVER\SQLEXPRESS), обязательно проверим, что служба SQL Server Browser запущена. Без нее клиент (1С) не сможет узнать, на каком порту работает именованный экземпляр.

Разрешение имен: использование файла hosts и псевдонимов

Иногда ошибка подключения вызвана некорректной работой службы DNS или особенностями маршрутизации между подсетями. Рассмотрим способ обхода этой проблемы через файл hosts:

На сервере, где установлен Агент сервера 1С, откроем файл по пути C:\Windows\System32\drivers\etc\hosts и добавим в конец строку с IP-адресом и именем сервера SQL:

192.168.1.100 SQLSERVERNAME

Это позволит исключить задержки и ошибки при разрешении сетевого имени сервера баз данных.

Также разберем настройку через утилиту cliconfg.exe. Это системный инструмент Windows для настройки сетевых библиотек SQL:

  1. Запустим cliconfg.exe (важно сделать это и для 32-битной, и для 64-битной версии в System32 и SysWOW64).
  2. Перейдем на вкладку Alias (Псевдоним).
  3. Добавим новый псевдоним, указав имя сервера, протокол TCP/IP и порт 1433. Это принудительно заставит систему использовать TCP/IP при обращении к серверу по имени.

Настройка прав доступа и авторизации

Если после установки драйверов ошибка сменилась на «Доступ запрещен», проверим настройки безопасности на уровне SQL Server. Выясним, под какой учетной записью запущена служба ragent (Агент 1С).

Если служба 1С работает от имени системной учетной записи (например, LocalService или NetworkService), а SQL Server находится на другом физическом сервере, авторизация через Windows (Windows Authentication) может не сработать. В этом случае рассмотрим следующие действия:

  1. В SQL Server Management Studio (SSMS) в свойствах сервера на вкладке Security включим режим SQL Server and Windows Authentication mode.
  2. Создадим в SQL Server отдельного пользователя (Login) с правами sysadmin (для создания баз) или ролями db_owner для конкретной базы.
  3. При создании информационной базы в консоли 1С укажем именно этого SQL-пользователя и его пароль.

Уровень совместимости базы данных (Compatibility Level)

Даже если нам удалось подключиться, старая платформа 1С может выдавать ошибки при работе с ядром SQL 2022. Чтобы минимизировать риски, проанализируем настройки самой базы данных в SSMS:

  1. Нажмем правой кнопкой на созданную базу данных -> Properties.
  2. Перейдем в раздел Options.
  3. Найдем параметр Compatibility level. Для SQL Server 2022 по умолчанию стоит уровень 160. Попробуем понизить его до SQL Server 2019 (150) или даже SQL Server 2017 (140). Это заставит оптимизатор запросов SQL работать по логике более старых версий, которые лучше «понимает» платформа 1С 8.3.16.

Итоги и рекомендации

Подводя итог, для успешного запуска 1С на MS SQL Server 2022 выполним следующие ключевые действия:

Соблюдение этих шагов позволит стабильно настроить работу системы и избежать типичных ошибок авторизации и сетевого взаимодействия. Для комплексной проверки корректности конфигурации базы на сервере баз данных можно использовать обработку для аудита и чек-апа параметров СУБД под 1С.

← На главную