Описание ошибки:
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