Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL_ERROR_18456 1С:Предприятие и СУБД

MSSQL Error 18456: Login failed for user — Расшифровка всех State кодов

Обновлено: 25.08.2026 · Официальная документация ↗

Ошибка 18456 (Severity 14) указывает на отказ в прохождении аутентификации на уровне сервера SQL Server. Точная причина всегда зашифрована во внутреннем коде состояния (State), который записывается только в серверный журнал ERRORLOG.

  • Клиент получает обобщенное сообщение: Login failed for user '%.*ls' (Error: 18456).
  • Служба кластера 1С:Предприятие не может подключиться к СУБД при старте рабочих процессов rphost.
  • В ERRORLOG фиксируется: Login failed for user 'sa'. Reason: Password did not match that for the login provided. [CLIENT: 192.168.1.50].

1. Получение точного кода State из SQL Server ERRORLOG

EXEC sys.sp_readerrorlog 0, 1, '18456';

2. Полная таблица расшифровки State кодов ошибки 18456

StateПричина сбояМетод устранения
State 1Скрытая ошибка (клиентская маскировка)Смотрите реальный State в ERRORLOG сервера.
State 2 / 5Неверный логин пользователя (User ID doesn't exist)Проверьте имя пользователя в строке подключения 1С.
State 6Попытка использовать имя Windows для SQL-логинаСмените тип аутентификации в клиенте.
State 7Отключенная учетная запись (Login is disabled)ALTER LOGIN [user] ENABLE;
State 8Неверный пароль (Password mismatch)Сбросьте пароль логина в SSMS или T-SQL.
State 11 / 12Логин валиден, но нет прав на доступ к серверуGRANT CONNECT SQL TO [user];
State 16Логин заблокирован политикой паролей WindowsALTER LOGIN [user] WITH UNLOCK;
State 38База по умолчанию недоступна или удаленаALTER LOGIN [user] WITH DEFAULT_DATABASE = [master];
State 58Сервер настроен только на Windows AuthenticationВключите Mixed Mode (SQL and Windows Authentication).

3. Переключение сервера в смешанный режим аутентификации (Mixed Mode)

USE [master];
GO
EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE', 
    N'Software\Microsoft\MSSQLServer\MSSQLServer', 
    N'LoginMode', 
    REG_DWORD, 
    2;
GO

После изменения режима аутентификации требуется перезапуск службы SQL Server!

4. Разблокировка и сброс пароля служебной учетной записи 1С

ALTER LOGIN [usr1cv8] WITH PASSWORD = 'YourStrongPassword123!', CHECK_POLICY = OFF;
ALTER LOGIN [usr1cv8] ENABLE;
ALTER LOGIN [usr1cv8] WITH DEFAULT_DATABASE = [master];
💡 Практика специалистов: Для рабочих процессов 1С:Предприятие создавайте выделенный SQL-логин с правами db_owner на целевые базы вместо использования глобального суперпользователя sa.

Частые вопросы (FAQ)

Почему клиенту всегда возвращается State 1, даже если пароль неверный?

В целях безопасности (Security by Obscurity) SQL Server возвращает клиентам обобщенный код State 1, чтобы злоумышленник не мог подобрать существующие логины. Истинный State всегда пишется в ERRORLOG.

Что делать при ошибке 18456 State 38?

Это означает, что у пользователя в качестве 'Default Database' указана база, которая была удалена, переведена в Offline или к которой у пользователя нет прав. Назначьте master: ALTER LOGIN [user] WITH DEFAULT_DATABASE = [master].

Почему после смены пароля sa 1С продолжает падать с 18456?

Пароль к СУБД хранится в зашифрованных файлах параметров баз кластера 1С (1CV8Clst.lst). Обновите параметры подключения к базе через консоль администрирования 1C.

Как временно отключить блокировку учетных записей политиками сложности Windows?

Выполните: ALTER LOGIN [user] WITH CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF.

Полезные материалы
Рекомендуем