![Настройка Kerberos для SQL Server 2008 R2 не вступает в силу](https://rvso.com/image/567628/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20Kerberos%20%D0%B4%D0%BB%D1%8F%20SQL%20Server%202008%20R2%20%D0%BD%D0%B5%20%D0%B2%D1%81%D1%82%D1%83%D0%BF%D0%B0%D0%B5%D1%82%20%D0%B2%20%D1%81%D0%B8%D0%BB%D1%83.png)
Я пытаюсь настроить Kerberos для моего SQL Server (учетная запись домена ядра базы данных). Я выполнил следующую команду:
SETSPN -A MSSQLSvc/MyDBServer:1433 МойДомен\SQLServerService
Замените MyDBServer на полное доменное имя сервера, а MyDomain\SQLServerService на имя моей учетной записи.
Затем я выполнил запрос:
SELECT s.session_id , c.connect_time , s.login_time , s.login_name , c.protocol_type , c.auth_scheme , s.HOST_NAME , s.program_name FROM sys.dm_exec_sessions s JOIN sys.dm_exec_connections c ON s.session_id = c.session_id
Это возвращает NTLM. Так что это не Kerberos. Что я упускаю? Вкладка делегирования доступна для учетной записи, поэтому бит spn сработал отлично. Разве не требуется задать некоторые настройки на вкладке делегирования? Я видел это в случае настройки kerberos для Sharepoint 2010 (который я собираюсь настроить).
Спасибо
решение1
Я обнаружил, что мне нужно зарегистрировать SPN для разного синтаксиса для описания сервера SQL. По какой-то причине SQL использует разные синтаксисы на пути к аутентификации. Зарегистрируйте каждый из этих форматов.
MSSQLSvc/SqlServerName.perrigo.com:instancename
MSSQLSvc/SqlServerName:instancename
MSSQLSvc/SqlServerName.domainname.com:1433
MSSQLSvc/SqlServerName:1433
MSSQLSvc/SqlServerName.domainname.com
MSSQLSvc/SqlServerName
решение2
Вы тестировали соединение на локальном хосте?
Похоже, в некоторых случаях локального хоста существует возможность отката (вероятно, по соображениям производительности, поскольку вам не нужен Kerberos на локальной машине) к NTLM, даже если у вас есть SPN.