拓扑结构:
计算机A - Windows Server 2008 - SQL 2008 R2 Dev SQL Server作为mydomain \ user1
运行机器B -Windows 7 -SQL 2008 R2 Dev SQL Server作为mydomain \ user1
运行我已将服务帐户的任一端授予连接到SQL Server上端点的权限。如果我将mydomain \ user1添加到任一端的计算机管理员组中,则连接没有问题。如果我从这些组中删除它,我会收到以下消息:
连接握手失败。 OS调用失败:(8009030c)0x8009030c(登录尝试失败)。州67.
感谢任何帮助。我们确实不确定所需的最低权利。我们计划最终将其迁移到生产环境,我不希望sql服务作为本地计算机管理员运行。顺便说一句,我已经让我的服务器管理员在循环中,并且SPN似乎是根据他们的知识正确设置的。
我在MSDN论坛here上提出了同样的问题。
答案 0 :(得分:0)
如果两台计算机都作为域用户服务帐户运行,并且您授予了必要的权限(SSB端点上的CONNECT),那么您需要在SSB配置端进行其他任何操作。该错误是操作系统错误,调查的最佳方法是使用Kerberos疑难解答文档:Troubleshooting Kerberos Errors。
最可能的原因是格式化的SPN格式不正确。 Service Broker要求和SPN一样MSSQLSvc\<hostname>:<port>
。它将从路由地址格式化请求的SPN(DsMakeSpn
),因此如果在路由中使用FQDN,则SPN必须是FQDN,如果仅使用主机名,则SPN必须基于主机名。该部分也来自路线,如果省略则是默认的4022.