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

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

В процессе эксплуатации клиент-серверного варианта 1С:Предприятие системные администраторы часто сталкиваются с ситуацией, когда стабильно работавшая система внезапно перестает пускать пользователей. При этом попытка входа в базу или конфигуратор прерывается сообщением: «Microsoft SQL Server Native Client 11.0: Поставщик именованных каналов: Не удалось открыть соединение с SQL Server [1326]». Ситуация осложняется тем, что сам SQL-сервер может успешно «пинговаться», а подключение через среду SQL Server Management Studio (SSMS) проходит без проблем. Рассмотрим подробно, как диагностировать и устранить эту проблему, опираясь на практический опыт и технические особенности взаимодействия 1С и СУБД.

Анализируем причины блокировки сетевого трафика

Одной из наиболее распространенных причин возникновения ошибки 1326 является блокировка сетевых портов брандмауэром Windows (Windows Firewall). Проанализируем типичный сценарий: после автоматического обновления операционной системы Windows Server (особенно версий 2019 и 2022) настройки сетевого экрана могут сброситься к параметрам «по умолчанию», что приводит к закрытию ранее открытых портов. Выясним, какие именно порты необходимы для корректной работы.

Разберем по шагам настройку исключений в брандмауэре на стороне SQL-сервера и сервера приложений 1С (здесь также может быть полезен монитор кластеров серверов):

  1. Порты SQL Server: Основной порт для TCP-соединений — 1433. Если вы используете именованные экземпляры или динамические порты, также необходимо открыть UDP-порт 1434 для работы службы SQL Server Browser.
  2. Порты сервера 1С:Предприятие: Стандартный диапазон включает порты 1540 (агент сервера), 1541 (главный менеджер кластера) и диапазон рабочих процессов 1560-1591.

Проверить доступность порта можно с помощью утилиты telnet, командной строки Windows или командлета PowerShell. Рассмотрим пример проверки связи с SQL-сервером:

Test-NetConnection -ComputerName "ИМЯ_СЕРВЕРА_SQL" -Port 1433

Если результат проверки отрицательный, необходимо создать правила для входящих соединений в мониторе брандмауэра Windows для вышеуказанных портов.

Проверяем правильность указания имени сервера и экземпляра

Рассмотрим ситуацию, когда порты открыты, но ошибка сохраняется. Проанализируем настройки подключения в консоли администрирования серверов 1С или в окне добавления информационной базы — здесь поможет обработка для администрирования кластеров и информационных баз 1С. Часто ошибка кроется в том, как именно указан путь к серверу баз данных.

Если при установке MS SQL Server был выбран «Именованный экземпляр» (Named Instance) вместо «Экземпляра по умолчанию» (Default Instance), то в строке «Сервер баз данных» недостаточно просто написать сетевое имя компьютера. Выясним правильный формат записи:

В поле «Сервер баз данных» необходимо указывать строку вида: ИМЯ_СЕРВЕРА\ИМЯ_ЭКЗЕМПЛЯРА. Например, если сервер называется SRV-DB, а экземпляр SQL при установке был назван SQL2019, то строка подключения должна выглядеть как SRV-DB\SQL2019. Посмотрим на строку подключения, которую использует платформа 1С в своих настройках:


Srvr="1CERP";Ref="1cerp_prod";
DataAddr="SRV-DB\SQL2019";

Важно помнить: если используется именованный экземпляр, служба SQL Server Browser должна быть обязательно запущена, так как именно она сообщает клиенту 1С, на каком динамическом порту в данный момент работает указанный экземпляр SQL.

Настройка протоколов в SQL Server Configuration Manager

Разберем еще один критически важный аспект — включение протокола TCP/IP в настройках самого SQL-сервера. Проанализируем специфику последних версий СУБД, таких как SQL Server 2022. В них протокол TCP/IP может быть отключен по умолчанию в целях безопасности.

Для исправления ситуации выполним следующие действия:

  1. Откроем SQL Server Configuration Manager.
  2. Перейдем в раздел SQL Server Network Configuration -> Protocols for [ИМЯ_ЭКЗЕМПЛЯРА].
  3. Убедимся, что статус TCP/IP установлен в значение Enabled.
  4. Зайдем в свойства TCP/IP на вкладку IP Addresses.
  5. Прокрутим список до раздела IPAll. Проверим, чтобы поле TCP Dynamic Ports было пустым, а в поле TCP Port стояло значение 1433 (или другой порт, если вы используете нестандартную настройку).

После внесения изменений обязательно перезапустим службу SQL Server для вступления настроек в силу, а также не забудем про регламентные операции MS SQL SERVER.

Совместимость драйверов и протоколов безопасности TLS

Проанализируем техническую сторону вопроса на уровне драйверов. В тексте ошибки часто фигурирует Microsoft SQL Server Native Client 11.0. Это устаревший драйвер, который может некорректно работать в современных инфраструктурах (Windows Server 2022 + SQL Server 2022).

Современные версии Windows по умолчанию отключают устаревшие протоколы шифрования TLS 1.0 и 1.1. Если ваш Native Client не обновлен до последних патчей, он не сможет установить защищенное соединение с SQL по протоколу TLS 1.2, что приведет к ошибке «Сервер не найден».

Рассмотрим рекомендации по обновлению стека драйверов:

Использование утилиты cliconfg для создания псевдонимов

Если разрешение имен в сети (DNS) работает нестабильно или серверы находятся в разных подсетях, мы можем применить «хитрость» — создание сетевого псевдонима (Alias). Это позволит серверу 1С обращаться к SQL-серверу напрямую по IP-адресу, даже если в настройках 1С указано имя.

Разберем процесс настройки через cliconfg.exe:

  1. Запустим C:\Windows\System32\cliconfg.exe на сервере, где установлен сервер приложений 1С.
  2. Перейдем на вкладку Псевдоним (Alias).
  3. Нажмем «Добавить», выберем TCP/IP.
  4. В поле «Псевдоним» введем имя сервера, как оно указано в 1С (например, SQL-SERVER).
  5. В поле «Имя сервера» введем его реальный IP-адрес.
  6. Укажем порт 1433 вручную.

Этот метод часто помогает обойти проблемы с Named Pipes Provider, принудительно переводя все запросы на протокол TCP/IP.

Резюме и контрольный список

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

  1. Службы 1C:Enterprise Server Admin и SQL Server запущены и выполняются.
  2. Брандмауэр на обоих серверах разрешает трафик по портам 1433, 1434 и диапазону 1540-1591.
  3. Протокол TCP/IP в настройках SQL Server включен для нужного экземпляра.
  4. Если используется именованный экземпляр, запущена служба SQL Server Browser, а в 1С прописан путь через слэш.
  5. Пользователь, от имени которого запускается служба сервера 1С, имеет права dbcreator и processadmin на SQL-сервере (хотя это обычно вызывает другую ошибку, проверить стоит).

Используя этот комплексный подход, мы сможем оперативно восстановить работоспособность системы 1С:Предприятие и минимизировать простой бизнеса.

← На главную