NT AUTHORITY \ ANONYMOUS LOGON。失败并显示错误:

时间:2017-05-22 19:02:35

标签: sql-server authentication database-administration service-broker

我在两台服务器之间设置服务代理。我正在实现的环境没有域。

两个SQL服务器服务在“NETWORK SERVICE”下运行

我收到以下错误消息

  

用户'NT AUTHORITY \ ANONYMOUS LOGON'的Service Broker登录尝试。失败并显示错误:'连接握手失败。登录'NT AUTHORITY \ ANONYMOUS LOGON'在端点上没有CONNECT权限。州84.'。

如果我将NT AUTHORITY \ ANONYMOUS LOGON添加到SQL服务器并授予连接权限,那么一切正常。

我不确定是否允许NT AUTHORITY \ ANONYMOUS LOGON是一个好主意。

谷歌的一些研究告诉我,我需要为Kerberos配置SPN,但我不知道这样做。

你可以帮忙,或者指点一篇好的文章来引用吗?

配置

SQL 2008 R2和Windows 2008

2 个答案:

答案 0 :(得分:1)

我之前也遇到过这个问题。

本指南让我了解了它。如果您不是AD管理员,则可能需要让您的服务器人员参与进来。

guide to fix double hop issue

答案 1 :(得分:1)

  

我在两台服务器之间设置服务代理。我正在实现的环境没有域名。

然后您应该使用基于证书的身份验证而不是Windows:

CREATE ENDPOINT [broker]
    STATE = STARTED
    AS TCP (LISTENER_PORT = 4022)
    FOR SERVICE_BROKER (
        AUTHENTICATION = CERTIFICATE [MyCertName]);

设置非常复杂,因为它涉及在主机之间交换证书,创建登录和用户以映射到其他主机并授予端点连接。然后,您还需要执行对话安全层。您可以在此处阅读How does Certificate based Authentication work,此博客将逐步说明如何执行此操作:A simple secure dialog with transport certificates

请注意,即使错误消息是关于匿名登录,这也是 Kerberos的“双跃点”问题(更好地称为约束委派)。