При развертывании клиент-серверного варианта работы 1С:Предприятия, особенно в тестовых или домашних условиях, администраторы и разработчики часто сталкиваются с ошибками подключения к СУБД MS SQL Server. Одна из самых распространенных проблем — невозможность создать новую информационную базу через консоль администрирования серверов 1С (удобнее через альтернативную консоль управления серверами 1С) с выдачей длинного сообщения об ошибке аутентификации.
В этой статье мы подробно разберем ситуацию, когда при попытке создания базы появляется ошибка с кодом Hresult=80040E4D и нативным кодом SQL Server 18456 — для диагностики подобных проблем пригодится анализ технологического журнала для поиска технических ошибок. Мы проанализируем причины возникновения этой ошибки, разберем различия в режимах аутентификации и пошагово настроим MS SQL Server для корректной работы с платформой 1С.
Рассмотрим типичный сценарий. Вы установили MS SQL Server (например, версию 2016 или новее) и кластер серверов 1С. В консоли "Администрирование серверов 1С" вы успешно подключились к центральному серверу, видите ветки кластера, но при попытке создать новую информационную базу процесс прерывается следующей ошибкой:
Ошибка создания информационной базы
Ошибка операции администрирования
Ошибка при выполнении операции с информационной базой
Ошибка СУБД:
Microsoft OLE DB Provider for SQL Server: Login failed for user 'sa'.
Hresult=80040E4D, SQLSTATE = 28000, State = 1, Severity = E, native = 18456, Line = 1
Давайте разберем, что означают эти коды, чтобы понимать суть проблемы:
Таким образом, мы выяснили, что проблема не в самой 1С, а в том, как сервер 1С пытается авторизоваться на SQL-сервере. Разберем основные причины и способы их устранения.
При установке MS SQL Server по умолчанию часто предлагается режим Windows Authentication mode. В этом режиме к SQL-серверу могут подключаться только доменные или локальные пользователи Windows, добавленные в списки доступа.
Однако при создании базы через консоль 1С вы обычно указываете логин (чаще всего sa) и пароль СУБД. Если SQL Server настроен только на Windows-аутентификацию, он просто отвергнет попытку входа под SQL-логином sa, даже если пароль верный.
Нам необходимо переключить сервер в режим SQL Server and Windows Authentication mode (Смешанный режим). Выполним следующие действия:
Важно: После изменения этого параметра система сообщит, что изменения вступят в силу только после перезапуска службы. Обязательно перезапустите службу SQL Server (через контекстное меню в SSMS "Restart" или через "Службы" Windows).
В сообщении об ошибке часто фигурирует пользователь sa. Это встроенная учетная запись администратора SQL Server (System Administrator). Даже если вы включили смешанный режим, с пользователем sa могут быть следующие проблемы:
Проверим и настроим пользователя через Management Studio:
sa. Если на иконке пользователя есть маленькая красная стрелка вниз, значит, он отключен.sa и выберите Properties (Свойства).После этих действий попробуйте авторизоваться в самом Management Studio под пользователем sa, чтобы убедиться, что логин и пароль работают корректно.
Сервер 1С:Предприятия подключается к SQL Server через протокол TCP/IP. Если вы используете редакцию SQL Server Developer или Express, протокол TCP/IP может быть отключен по умолчанию после установки. В этом случае, даже при верном логине и пароле, подключение может не устанавливаться, или возникать ошибки на этапе рукопожатия.
Если по какой-то причине создание базы непосредственно из консоли 1С все еще вызывает трудности (например, из-за нехватки прав у пользователя SQL на создание файлов в системных папках), можно пойти обратным путем: сначала создать базу данных средствами SQL, а затем подключить её к 1С.
Рассмотрим этот процесс пошагово:
base1c_test) и настройте параметры файлов, если это необходимо. Нажмите "OK".base1c_test).sa) и его пароль.Этот метод позволяет исключить проблемы с правами пользователя sa на создание файлов (роль dbcreator), так как база уже создана администратором.
Ошибка 18456 при создании базы 1С — это почти всегда проблема настроек доступа на стороне SQL Server. Для успешного решения задачи убедитесь, что:
sa (лучше задать новый явно).Выполнив эти настройки и обязательно перезапустив службу SQL Server, вы сможете успешно создавать и подключать информационные базы через консоль кластера 1С.