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

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

При развертывании новой информационной базы на сервере 1С:Предприятие или подключении базы, восстановленной из резервной копии MS SQL Server, системные администраторы часто сталкиваются с ошибками: «Сервер баз данных не обнаружен» или «SQL сервер не существует или доступ запрещен». Разберем по шагам все возможные причины возникновения этой проблемы и рассмотрим способы корректной настройки взаимодействия кластера 1С и СУБД.

1. Включение протокола TCP/IP в SQL Server Configuration Manager

По умолчанию при свежей установке MS SQL Server протокол TCP/IP может быть отключен. В таком случае СУБД принимает только локальные соединения через Shared Memory или именованные каналы (Named Pipes), из-за чего сервер 1С не может связаться с SQL по сети. Выясним, как активировать данный протокол:

  1. Откроем утилиту SQL Server Configuration Manager на сервере СУБД.
  2. В левом дереве развернем ветку SQL Server Network Configuration (Сетевая конфигурация SQL Server) и перейдем в пункт Protocols for MSSQLSERVER (или имя вашего именованного экземпляра).
  3. В правом окне найдем протокол TCP/IP. Если его статус равен Disabled, нажмем по нему правой кнопкой мыши и выберем Enable.
  4. Перезапустим службу SQL Server через раздел SQL Server Services, чтобы изменения вступили в силу.

2. Настройка статического TCP-порта для SQL Server

Если протокол TCP/IP включен, но подключение по-прежнему не устанавливается, проанализируем настройки используемых портов. Часто при установке СУБД порт назначается динамически, что блокирует стандартные обращения кластера 1С:

  1. В SQL Server Configuration Manager откроем свойства протокола TCP/IP.
  2. Перейдем на вкладку IP Addresses и прокрутим список параметров в самый низ до секции IPAll.
  3. Убедимся, что поле TCP Dynamic Ports полностью очищено (оно должно быть пустым, а не содержать значение 0).
  4. В поле TCP Port укажем стандартный порт 1433.
  5. Применим настройки и обязательно перезапустим службу SQL Server.

3. Настройка брандмауэра (Firewall) и открытие портов

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

  1. Порт TCP 1433: основной порт для подключения к стандартному экземпляру MS SQL Server.
  2. Порт UDP 1434: используется службой SQL Server Browser для разрешения динамических портов и поиска именованных экземпляров.
  3. Исполняемый файл СУБД: в качестве альтернативы можно добавить в исключения брандмауэра сам исполняемый файл sqlservr.exe.

4. Проверка службы SQL Server Browser для именованных экземпляров

Если используется редакция SQL Server Express или именованный экземпляр (например, SERVERNAME\SQLEXPRESS), подключение осуществляется через службу обозревателя SQL Server:

  1. Откроем оснастку управления службами services.msc или перейдем в SQL Server Configuration Manager в раздел SQL Server Services.
  2. Найдем службу SQL Server Browser.
  3. Убедимся, что служба находится в состоянии Running, а тип запуска установлен в режим Automatic (Автоматически).

5. Проверка режима аутентификации SQL Server и прав пользователя

Сервер 1С:Предприятие подключается к MS SQL Server с использованием SQL-аутентификации. Если СУБД работает исключительно в режиме Windows-аутентификации, попытка входа завершится ошибкой доступа. Разберем, как включить смешанный режим:

  1. Запустим SQL Server Management Studio (SSMS) и подключимся к серверу.
  2. В обозревателе объектов нажмем правой кнопкой мыши на корень сервера и откроем Properties (Свойства).
  3. Перейдем на страницу Security (Безопасность) и в блоке Server authentication переключим флаг на SQL Server and Windows Authentication mode (Смешанный режим).
  4. Перейдем в раздел Security -> Logins, откроем свойства учетной записи (например, sa или специального пользователя 1С), проверим на вкладке Status, что параметр Permission to connect to database engine установлен в Grant, а Login — в Enabled.
  5. Убедимся, что пользователю назначена серверная роль sysadmin (или роли dbcreator и processadmin) на вкладке Server Roles.
  6. Перезапустим службу SQL Server.

6. Синтаксис указания имени сервера баз данных в консоли 1С

Рассмотрим правильный синтаксис заполнения поля «Сервер баз данных» при добавлении информационной базы в консоли администрирования серверов 1С:Предприятия:

  1. Стандартный экземпляр: указывается сетевое имя сервера (SQL-SRV) или его IP-адрес (192.168.1.10).
  2. Именованный экземпляр (Express): указывается имя сервера и имя экземпляра через обратный слэш — SQL-SRV\SQLEXPRESS или 192.168.1.10\SQLEXPRESS.
  3. Нестандартный порт: если SQL Server работает на порту, отличном от 1433, порт указывается через запятую — 192.168.1.10,1433.
  4. Совмещенная установка: если кластер 1С и SQL Server установлены на одной машине, можно использовать localhost, 127.0.0.1 или . (точку).

7. Разрядность драйвера SQL Server Native Client

Кластер серверов 1С взаимодействует с СУБД через библиотеку SQL Native Client. Обратите внимание на соответствие разрядности: для 64-битного сервера 1С (x86-64) на сервере приложений обязательно должен быть установлен 64-битный пакет SQL Server Native Client (sqlncli.msi).

← На главную