0

拓扑:

机器 A - Windows Server 2008 - SQL 2008 R2 Dev SQL Server 以 mydomain\user1 身份运行

机器 B -Windows 7 -SQL 2008 R2 Dev SQL Server 以 mydomain\user1 身份运行

我已在任一端授予服务帐户到任一 SQL 服务器上端点的连接权限。如果我将 mydomain\user1 添加到机器管理员组的任一端,则可以毫无问题地建立连接。如果我从这些组中删除它,我会收到以下消息:

连接握手失败。操作系统调用失败:(8009030c) 0x8009030c(登录尝试失败)。州 67。

任何帮助表示赞赏。我们真的不确定所需的必要最低权利。我们计划最终将其迁移到生产环境,我不希望 sql 服务以本地计算机管理员身份运行。顺便说一句,我已经让我的服务器管理员参与其中,据他们所知,SPN 似乎设置正确。

我在这里的 MSDN 论坛上问了同样的问题。

4

1 回答 1

0

如果两台机器都作为域用户服务帐户运行,并且您授予了必要的权限(在 SSB 端点上连接),那么您无需在 SSB 配置方面做任何其他事情。该错误是操作系统错误,最好的调查方法是使用 Kerberos 故障排除文档:Troubleshooting Kerberos Errors

最可能的原因是格式错误的 SPN。Service Broker 要求和 SPN 类似MSSQLSvc\<hostname>:<port>。它将DsMakeSpn根据路由地址格式化请求的 SPN ( ),因此如果您在路由中使用 FQDN,则 SPN 必须是 FQDN,如果您仅使用主机名,则 SPN 必须基于主机名。该部分也来自路由,如果省略则默认为 4022。

于 2011-07-14T16:23:04.550 回答