Je mets en place un environnement DEV / TEST à l'aide de 2 serveurs SQL exécutant SQL Server 2012 sur Windows Server 2012. Nous passons de SQL Server 2005 à Windows Server 2008, où nous l'avons déjà correctement installé.
Dans SQL Server 2012, l'authentification Kerberos ne fonctionne pas.
Chaque serveur possède son propre compte Active Directory qui dispose des droits "Écrire les noms principaux du service" et "Lire les noms principaux du service" accordés par le biais des utilisateurs et des ordinateurs Active Directory. Chaque fois que je me connecte aux serveurs SQL Server 2005 et que j'exécute:
SELECT net_transport, auth_scheme
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
Je vois:
net_transport auth_scheme
TCP KERBEROS
Lorsque j'effectue la même requête sur mes nouvelles instances SQL Server 2012, je vois:
net_transport auth_scheme
TCP NTLM
Si j'utilise SetSPN -Q MSSQLSvc/*
pour interroger le domaine actif pour les noms principaux de service, je vois les serveurs 2005 et 2012 répertoriés, exactement de la même manière que le nom du serveur.
Par exemple:
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
Que dois-je faire d'autre pour activer l'authentification Kerberos sur SQL Server 2012? Books Online semble n'avoir rien d'autre à dire, sauf que les SPN doivent être configurés. Ce qui est clairement le cas. Les journaux d'erreurs SQL Server sur les deux machines 2012 indiquent:
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.