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

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

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

Рассмотрим подробно причины возникновения этой ошибки и разберем пошагово методы её устранения, опираясь на технические особенности взаимодействия 1С и MS SQL.

Анализ ошибки и кода 1326

Ошибка с кодом 1326 в контексте Named Pipes Provider (Поставщик именованных каналов) означает «Logon Failure: Unknown user name or bad password» на уровне системы или, что чаще бывает в сетевом контексте, невозможность найти указанный сетевой ресурс. Несмотря на то, что в тексте ошибки упоминаются «Именованные каналы» (Named Pipes), проблема обычно кроется в том, что основной протокол TCP/IP недоступен, и клиент 1С пытается переключиться на резервный протокол, который также не срабатывает.

Решение 1: Проверка и настройка сетевых портов

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

Для корректного взаимодействия нам необходимо убедиться, что открыты следующие порты:

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

Выясним причину блокировки: иногда после обновления ОС настройки сети сбрасываются. Попробуйте временно создать разрешающие правила для этих портов вручную, даже если брандмауэр кажется отключенным.

Решение 2: Настройка протоколов в SQL Server Configuration Manager

Разберем ситуацию, когда SQL Server настроен некорректно и не принимает входящие соединения по протоколу TCP/IP. По умолчанию в некоторых редакциях (особенно Express) этот протокол может быть отключен.

Выполним следующие шаги:

  1. Откроем SQL Server Configuration Manager.
  2. Перейдем в раздел SQL Server Network Configuration (Сетевая конфигурация SQL Server) -> Protocols for MSSQLSERVER (или имя вашего экземпляра).
  3. Убедимся, что протокол TCP/IP имеет статус Enabled (Включен).
  4. Зайдем в свойства TCP/IP на вкладку IP Addresses.
  5. Пролистаем список до самого конца к разделу IPAll.
  6. Убедимся, что в поле TCP Port указано значение 1433, а поле TCP Dynamic Ports пустое (если не планируется использование динамических портов).
  7. После внесения любых изменений обязательно перезагрузим службу SQL Server через консоль services.msc.

Решение 3: Приоритеты протоколов на стороне клиента (cliconfg)

Рассмотрим ситуацию, когда клиентская часть ОС Windows (на которой запущен сервер 1С) первым делом пытается использовать Named Pipes вместо TCP/IP. Это может вызывать ошибку 1326 еще до попытки подключения по IP.

Проанализируем настройки утилиты cliconfg:

  1. Запустим утилиту через командную строку (Win+R): cliconfg. Важно сделать это как для 64-битной версии (C:\Windows\System32\cliconfg.exe), так и для 32-битной (C:\Windows\SysWOW64\cliconfg.exe), так как процессы 1С могут использовать разные библиотеки.
  2. На вкладке Общие (General) проверим список включенных протоколов.
  3. Убедимся, что TCP/IP находится в списке активных и стоит выше, чем Named Pipes.
  4. Если Named Pipes не используются в вашей инфраструктуре, их можно вовсе отключить, переместив в левую колонку.

Решение 4: Проблема релиза платформы 8.3.19.1150

Выясним специфическую причину, связанную с программным кодом самой платформы. В релизах ветки 8.3.19 (в частности 8.3.19.1150) были зафиксированы ошибки взаимодействия с драйверами SQL Server Native Client 11.0.

Если вышеперечисленные сетевые настройки не помогают, рассмотрим два варианта решения:

Решение 5: Права доступа службы 1С и SQL Browser

Проанализируем ситуацию, при которой SQL Server установлен как именованный экземпляр (например, SERVER\SQLEXPRESS). В этом случае для работы 1С критически важна служба SQL Server Browser.

  1. Убедимся, что служба SQL Server Browser запущена и имеет тип запуска «Автоматически». Без неё 1С не сможет определить динамический порт, на котором «слушает» экземпляр SQL.
  2. Проверим права пользователя, от имени которого работает служба 1С (обычно USR1CV8). Даже если вы успешно заходите в SQL Management Studio под своей учетной записью, служба 1С может не иметь прав на создание базы данных.
  3. В SQL Management Studio добавим пользователя USR1CV8 (или LocalSystem, если служба работает от неё) в Security -> Logins и назначим ему роли dbcreator, processadmin и public.

Решение 6: Очистка серверного кэша 1С

Если проблема возникла внезапно после простоя сервера (например, на тестовой виртуалке), проанализируем состояние кэша кластера 1С. Иногда в файлах описания кластера сохраняются некорректные идентификаторы соединений. Для безопасной автоматизации этой процедуры подойдёт готовый bat-скрипт для очистки серверного кэша 1С с сохранением настроек.

Посмотрим на алгоритм очистки:

  1. Остановим службу 1C:Enterprise 8.3 Server Agent.
  2. Перейдем в каталог данных сервера 1С (по умолчанию C:\Program Files\1cv8\srvinfo).
  3. Найдем папку вашего кластера (обычно reg_1541) и удалим из неё папку snccntx.
  4. Также можно удалить временные файлы с расширением .lst, но будьте осторожны: файл 1cv8wsrv.lst содержит список зарегистрированных информационных баз. Если его удалить, базы придется добавлять в консоль кластера заново.
  5. Запустим службу 1С снова.

Таким образом, последовательное выполнение указанных шагов — от проверки сетевых портов до анализа версии платформы — позволяет гарантированно решить проблему обнаружения сервера базы данных и успешно создать информационную базу.

← На главную