Sto configurando un ambiente DEV / TEST utilizzando 2 server SQL che eseguono SQL Server 2012 su Windows Server 2012. Ci stiamo spostando da SQL Server 2005 su Windows Server 2008, dove abbiamo già installato e funzionante correttamente.
In SQL Server 2012, l'autenticazione Kerberos non funziona.
Ogni server ha il proprio account di Active Directory che dispone dei diritti "Scrivi nomi principali di servizio" e "Leggi nomi principali di servizio" concessi tramite Utenti e computer di Active Directory. Ogni volta che mi collego ai server SQL Server 2005 ed eseguo:
SELECT net_transport, auth_scheme
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
Vedo:
net_transport auth_scheme
TCP KERBEROS
Quando eseguo la stessa query con le mie nuove istanze di SQL Server 2012, vedo:
net_transport auth_scheme
TCP NTLM
Se utilizzo SetSPN -Q MSSQLSvc/*
per interrogare Active Domain per i nomi principali del servizio, vedo elencati entrambi i server 2005 e 2012, esattamente allo stesso modo del nome del server.
Per esempio:
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
Cos'altro devo fare per abilitare l'autenticazione Kerberos su SQL Server 2012? La documentazione in linea sembra non avere nient'altro da dire, tranne che gli SPN devono essere impostati. Che chiaramente lo sono. I log degli errori di SQL Server su entrambi i computer 2012 dicono:
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.