为 SQL Server 2008 R2 设置 kerberos 不生效

为 SQL Server 2008 R2 设置 kerberos 不生效

我正在尝试为我的 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)。

看一下:http://blogs.msdn.com/b/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx

相关内容