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

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.

Telegram Telegram Max Max Позвонить Позвонить E-mail E-mail