Ошибка SQL Server: 17806, серьезность: 20, состояние: 14. SSPI рукопожатие не удалось с кодом ошибки 0x8009030c, состояние 14

 

Описание ошибки:


Error: 17806, Severity: 20, State: 14.
SSPI handshake failed with error code 0x8009030c, state 14 while establishing a connection with integrated security; the connection has been closed. Reason: AcceptSecurityContext failed. The Windows error code indicates the cause of failure.

Эти ошибки появляются в журналах ошибок SQL.

причины ошибок:

Может быть вызвано несколькими причинами, такими как

1. Эта проблема может быть связана с Kerberos и большинством сообщений об ошибках рукопожатия SSPI из-за сбоя Kerberos. Сбой Kerberos, скорее всего, может быть связан с несуществующим SPN (имя участника службы) или плохим SPN для SQL Server. Обычно локальные соединения работают должным образом, поскольку они используют NTLM, и SPN не требуется для NTLM.

Чтобы подтвердить, что мы являемся аутентификацией Kerberos, мы можем выполнить следующий запрос

SELECT distinct auth_scheme FROM sys.dm_exec_connections

2. Ошибки рукопожатия SSPI могут быть разницей во времени / часах между клиентскими часами и часами сервера

Решение:

1. Перезагрузите неисправный контроллер домена

2. Правильное время между клиентом и сервером

3. Установите SPN вручную правильно для SQL Server, используя ниже

Если мы используем Kerberos, то и клиент, и SQL Server должны находиться в одном домене или доверенных доменах с двунаправленным доверием, установленным между доменами, и имя участника службы (SPN) должно быть зарегистрировано в Active Directory для учетной записи службы SQL Server.

Мы можем проверить, есть ли у учетной записи службы уже SPN, запустив ее на рассматриваемом SQL-сервере.

setspn -l <DomainName\SqlServiceAccount>

Если мы не видим никаких записей, начинающихся с MSSQLSvc\, то учетная запись не настроена с SPN.

Мы можем вручную зарегистрировать SPN в качестве администратора домена, используя эти команды.

Чтобы подтвердить, что мы являемся аутентификацией Kerberos, мы можем выполнить следующий запрос

SELECT distinct auth_scheme FROM sys.dm_exec_connections

2. Ошибки рукопожатия SSPI могут быть разницей во времени / часах между клиентскими часами и часами сервера

Для создания SPN для имени NetBIOS SQL Server используйте следующую команду:
setspn-A MSSQLSvc/: 1433 Domain\Account
для создания SPN для полного доменного имени SQL Server используйте следующую команду:
setspn-A MSSQLSvc/: 1433 Domain\Account