安装了sql Server 2008 R2.
MSsql服务作为本地系统运行.
服务器FQDN是sql01.domain.com.
sql01加入名为domain.com的Active Directory域.
以下是setspn的输出:
C:\> setspn -L sql01 ... MSsqlSvc/sql01.domain.com:1433 MSsqlSvc/sql01.domain.com WSMAN/sql01.domain.com WSMAN/sql01 TERMSRV/sql01.domain.com TERMSRV/sql01 RestrictedKrbHost/sql01 RestrictedKrbHost/sql01.domain.com HOST/sql01.domain.com HOST/sql01
然后我启动sql Server Management studio并连接到sql01:
然后我运行以下查询:
SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid
结果是NTLM.为什么结果不是Kerberos? SPN似乎对使用本地系统帐户是正确的.服务器不在群集中或使用CNAME.
解决方法
如果在本地连接,sql Server将始终使用NTLM. Kerberos仅在远程连接时使用.
来自SQL Server Protocols Blog的这篇帖子虽然陈述了同样的说法:
1) Kerberos is used when making remote connection over TCP/IP if SPN
presents.2) Kerberos is used when making local tcp connection on XP if SPN
presents.3) NTLM is used when making local connection on WIN 2K3.
4) NTLM is used over NP connection.
5) NTLM is used over TCP connection if not found SPN.
原文地址:https://www.jb51.cc/mssql/81239.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。