我正在尝试为我的 SQL Server(数据库引擎域帐户)配置 Kerberos。我已执行以下命令:
SETSPN -A MSSQLSvc/MyDBServer:1433 MyDomain\SQLServerService
将 MyDBServer 替换为服务器的 FQDN,并将 MyDomain\SQLServerService 替换为我的帐户名称。
然后我运行了查询:
从 sys.dm_exec_sessions s 中选择 s.session_id、c.connect_time、s.login_time、s.login_name、c.protocol_type、c.auth_scheme、s.HOST_NAME 和 s.program_name,并加入 sys.dm_exec_connections c,使 s.session_id = c.session_id
这将返回 NTLM。所以它不是 Kerberos。我错过了什么?帐户的委派选项卡可用,因此 spn 位工作正常。是否不需要在委派选项卡中设置一些设置?我在为 Sharepoint 2010(我打算设置)设置 kerberos 的情况下看到了这一点。
谢谢
答案1
我发现我需要为描述 SQL Server 的不同语法注册 SPN。出于某种原因,SQL 在身份验证过程中使用不同的语法。注册每种格式。
MSSQLSvc/SqlServerName.perrigo.com:instancename
MSSQLSvc/SqlServerName:instancename
MSSQLSvc/SqlServerName.domainname.com:1433
MSSQLSvc/SqlServerName:1433
MSSQLSvc/SqlServerName.domainname.com
MSSQLSvc/SqlServerName
答案2
您是否使用本地主机上的连接进行测试?
在某些本地主机情况下,即使您有 SPN,似乎也会回退到 NTLM(可能是出于性能原因,因为您不需要本地计算机上的 Kerberos)。