Я настраиваю среду DEV / TEST, используя 2 сервера SQL Server под управлением SQL Server 2012 на Windows Server 2012. Мы переходим с SQL Server 2005 на Windows Server 2008, где у нас уже есть этот корректный запуск.
В SQL Server 2012 аутентификация Kerberos не работает.
Каждый сервер имеет свою собственную учетную запись Active Directory, которая имеет права «Записывать имена участников службы» и «Чтение имен участников службы», предоставляемые через Active Directory - пользователи и компьютеры. Всякий раз, когда я подключаюсь к серверам SQL Server 2005 и запускаю:
SELECT net_transport, auth_scheme
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
Я вижу:
net_transport auth_scheme
TCP KERBEROS
Когда я выполняю тот же запрос к моим новым экземплярам SQL Server 2012, я вижу:
net_transport auth_scheme
TCP NTLM
Если я использую SetSPN -Q MSSQLSvc/*
запрос активного домена для имен основных участников службы, я вижу в списке оба сервера 2005 и 2012 годов, точно так же, как и имя сервера.
Например:
MSSQLSvc/SERVERa2005.domain.inet
MSSQLSvc/SERVERa2005domain.inet:1433
MSSQLSvc/SERVERb2005.domain.inet
MSSQLSvc/SERVERb2005domain.inet:1433
MSSQLSvc/SERVERa2012.domain.inet
MSSQLSvc/SERVERa2012domain.inet:1433
MSSQLSvc/SERVERb2012.domain.inet
MSSQLSvc/SERVERb2012domain.inet:1433
Что еще мне нужно сделать, чтобы включить аутентификацию Kerberos для SQL Server 2012? Похоже, что в Books Online больше нечего сказать, кроме того, что SPN должны быть настроены. Которые, очевидно, они есть. Журналы ошибок SQL Server на обоих компьютерах 2012 года говорят:
2012-12-10 14:55:47.630 The SQL Server Network Interface library
successfully registered the Service Principal Name (SPN)
[ MSSQLSvc/SERVERa2012.domain.inet ] for the SQL Server
service.
2012-12-10 14:55:47.630 The SQL Server Network Interface library
successfully registered the Service Principal Name (SPN)
[ MSSQLSvc/SERVERa2012.domain.inet:1433 ] for the SQL
Server service.
2012-12-10 14:55:47.590 SQL Server is attempting to register a Service
Principal Name (SPN) for the SQL Server service.
Kerberos authentication will not be possible until a
SPN is registered for the SQL Server service. This is an
informational message. No user action is required.