我正在尝试为我的SQL Server(数据库引擎域帐户)configurationKerberos。 我已经执行了下面的命令:
SETSPN -A MSSQLSvc / MyDBServer:1433 MyDomain \ SQLServerService
使用服务器的FQDNreplaceMyDBServer,并用我的账户名replaceMyDomain \ SQLServerService。
然后我跑了查询:
SELECT s.session_id,c.connect_time,s.login_time,s.login_name,c.protocol_type,c.auth_scheme,s.HOST_NAME,s.program_name FROM sys.dm_exec_sessions s JOIN sys.dm_exec_connections c ON s.session_id = c.session_id
这将返回NTLM。 所以这不是Kerberos。 我在做什么? 代表选项卡可用于该帐户,所以spn位工作得很好。 是否需要在委派选项卡中设置一些设置? 我在为Sharepoint 2010(我打算设置)设置Kerberos的情况下见过这种情况。
谢谢
我发现我需要注册用于描述SQL Server的不同语法的SPN。 出于某种原因,sql在authentication过程中使用了不同的语法。 注册每种格式。
MSSQLSvc/SqlServerName.perrigo.com:instancename MSSQLSvc/SqlServerName:instancename MSSQLSvc/SqlServerName.domainname.com:1433 MSSQLSvc/SqlServerName:1433 MSSQLSvc/SqlServerName.domainname.com MSSQLSvc/SqlServerName
你testing了本地主机上的连接吗?
在某些本地主机的情况下,似乎有一个回退(可能是因为性能方面的原因,因为您不需要本地计算机上的Kerberos)到NTLM,即使您有一个SPN。
看看: http : //blogs.msdn.com/b/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx