我正在尝试在域环境中使用“使用登录名的当前安全上下文进行制作”来获取在另一台服务器上创建的 ServerA 的链接服务器,ServerB。我读到我需要为在每台服务器上运行 SQL Server 的服务帐户创建 SPN 才能启用 Kerberos。我已经这样做了,现在两者都显示身份验证方案是 Kerberos,但是,我仍然面临错误:
"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".
在 Active Directory 中,我可以看到 ServerB 的服务帐户受信任以委派给 MSSQLSvc,但我注意到 ServerA 的服务帐户尚未启用“信任此用户进行委派”。目标服务器是否也需要启用该选项?为了能够使用当前的 Windows 登录名来使用链接服务器,是否还需要其他任何东西?
从您的桌面到您正在调用的服务器的链中的每台机器都必须启用 Kerberos 才能使信任超过第一个跃点。所以,是的,服务器需要信任用户进行委派。
“用户 ‘NT AUTHORITY\ANONYMOUS LOGON’ 登录失败”几乎总是表明存在委派问题。