我正在两台服务器之间设置服务代理。我正在实现的环境没有域。
两个 SQL 服务器服务在"网络服务"下运行
我收到以下错误消息
用户"NT AUTHORITY\ANONYMOUS LOGON"尝试的服务代理登录尝试失败,出现错误:"连接握手失败。登录名"NT AUTHORITY\ANONYMOUS LOGON"在终端上没有连接权限。状态 84.
如果我将NT权限\匿名登录添加到SQL服务器并授予连接权限,则一切正常。
我不确定向 NT AUTHORITY\ANONYMOUS LOGON 授予权限是一个好主意。
谷歌的一些研究告诉我,我需要为 Kerberos 配置 SPN,但我没有这方面的知识。
你能帮忙,或者指导我参考一篇好文章吗?
配置
SQL 2008R2 和 Windows 2008
我以前也遇到过这个问题。
本指南让我完成了它。如果您不是AD管理员,则可能需要让您的服务器人员参与其中。
解决双跃点问题的指南
我正在两台服务器之间设置服务代理。我正在实现的环境没有域。
然后,您应该使用基于证书的身份验证而不是Windows:
CREATE ENDPOINT [broker]
STATE = STARTED
AS TCP (LISTENER_PORT = 4022)
FOR SERVICE_BROKER (
AUTHENTICATION = CERTIFICATE [MyCertName]);
设置非常复杂,因为它涉及在主机之间交换证书、创建登录名和用户以映射到其他主机以及授予端点连接。然后,您还需要执行对话框安全层。您可以在此处阅读基于证书的身份验证的工作原理,此博客逐步解释了如何执行此操作:带有传输证书的简单安全对话框。
请注意,即使错误消息是关于匿名登录的,这不是 Kerberos 的"双跃点"问题(通常称为约束委派(。