一尘不染

如何使用 Windows 身份验证让我的链接服务器正常工作?

sql-server

我正在尝试在域环境中使用“使用登录名的当前安全上下文进行制作”来获取在另一台服务器上创建的 ServerA 的链接服务器,ServerB。我读到我需要为在每台服务器上运行 SQL Server 的服务帐户创建 SPN 才能启用 Kerberos。我已经这样做了,现在两者都显示身份验证方案是 Kerberos,但是,我仍然面临错误:

"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".

在 Active Directory 中,我可以看到 ServerB 的服务帐户受信任以委派给 MSSQLSvc,但我注意到 ServerA 的服务帐户尚未启用“信任此用户进行委派”。目标服务器是否也需要启用该选项?为了能够使用当前的 Windows 登录名来使用链接服务器,是否还需要其他任何东西?


阅读 143

收藏
2022-11-14

共1个答案

一尘不染

从您的桌面到您正在调用的服务器的链中的每台机器都必须启用 Kerberos 才能使信任超过第一个跃点。所以,是的,服务器需要信任用户进行委派。

“用户 ‘NT AUTHORITY\ANONYMOUS LOGON’ 登录失败”几乎总是表明存在委派问题。

  • 您的 Windows 帐户必须有权访问 ServerA 和 ServerB。
  • 您不得设置“帐户敏感,无法委派”。
  • ServerA 和 ServerB 都必须注册自己的 SPN。
  • 服务器必须通过 TCP/IP 或命名管道连接。
2022-11-14