Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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

MSSQL Error 17806: SSPI handshake failed with error code — решение

Обновлено: 25.08.2026  ·  Официальная база знаний
  • Ошибка Msg 17806, Level 14, State 2: SSPI handshake failed with error code 0x8009030c (or 0x80090304), state 14 while establishing a connection with integrated security.
  • Клиенты 1С:Предприятие получают отказ при попытке подключения к базе данных под доменными учетными записями.
  • Служба сервера 1С (rphost) не может установить связь с пулом соединений SQL Server.
  • В Errorlog регистрируются множественные сбои входа с признаком деградации протокола безопасности.

1. Расшифровка кодов ошибок SSPI API (Security Support Provider Interface)

  • 0x8009030c (SEC_E_LOGON_DENIED): Учетная запись заблокирована в AD, истек срок пароля или запрещен вход на данный рабочий узел.
  • 0x80090304 (SEC_E_INTERNAL_ERROR): Ошибка связи LSA с контроллером домена, сбой NTLM/Kerberos провайдера.
  • 0x80090322 (SEC_E_WRONG_PRINCIPAL): Неверный или дублирующийся Service Principal Name (SPN) в Active Directory.

2. Диагностика и автоматическое исправление SPN с помощью Microsoft Kerberos Configuration Manager

:: Ручная проверка регистрации SPN по порту 1433
setspn -L DOMAIN\SQLServiceAccount

:: Регистрация корректного SPN для инстанса по умолчанию
setspn -A MSSQLSvc/sqlserver.corp.local:1433 DOMAIN\SQLServiceAccount
setspn -A MSSQLSvc/sqlserver.corp.local DOMAIN\SQLServiceAccount

3. Проверка прав учетной записи службы SQL Server в Active Directory

Предоставьте учетной записи службы право Read servicePrincipalName и Write servicePrincipalName (Self-SPN registration) на свой собственный объект в домене.

4. Проверка протокола NTLM в групповых политиках (GPO)

:: Проверьте политику Network security: Restrict NTLM
gpresult /h gpreport.html

Если в домене заблокирован NTLM (NTLM traffic restricted), убедитесь, что Kerberos отрабатывает без ошибок и не деградирует до NTLM.

5. Проверка часов (Time Skew)

w32tm /resync /rediscover
Практический опыт инженера: Если сервер СУБД работает на динамическом TCP-порту (Named Instance), SQL Server должен иметь права на динамическую перезапись SPN при каждом старте. В противном случае зафиксируйте порт в SQL Server Configuration Manager.

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

Почему ошибка 17806 исчезает при подключении по IP-адресу вместо FQDN?

При подключении по IP-адресу клиентский стек отключает Kerberos и принудительно переключается на протокол NTLM. Если NTLM разрешен, авторизация проходит успешно.

Как узнать, по какому протоколу (NTLM или Kerberos) подключена текущая сессия 1С?

Выполните T-SQL запрос: SELECT session_id, net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID; (значение auth_scheme покажет KERBEROS или NTLM).

Что делать при ошибке 0x8009030c?

Проверьте учетную запись службы SQL и пользователя 1С в Active Directory: снимите флаг 'Account is locked out', проверьте срок действия пароля и ограничения 'Logon To'.

Повлияет ли исправление SPN на работающих пользователей?

Регистрация нового SPN не прерывает текущие сессии, но новые сессии 1С сразу начинают использовать корректные билеты Kerberos.