2011-04-14 121 views
2

我一直在尝试为在Windows 2008 R2上运行的两个实例之间的复制配置SQL Server 2008 R2(标准)。这两台机器都位于内部AD域(2008R2域)上。我遇到的问题特别是订阅过程无法从分发服务器向订阅服务器推送事务(是的,正在执行事务复制)。它使用默认情况下位于域用户组中的域用户(sqlrepl_distrib)来执行此操作。SQL Server 2008 R2复制问题

该错误日志是:

登录失败,用户XXXX \ sqlrepl_distrib“。原因:基于令牌的服务器访问验证因基础结构错误而失败。检查以前的错误。 [客户:]

我已经尝试了很多事情来获得它的工作,但我可以订阅工作的唯一方法是使用我的域管理员登录(这显然是不可接受的永久解决方案)。

的sqlrepl_distrib用户有权限在发布都和用户数据库,以及分发数据库的db_owner,所以不应该涉及到的问题。 SQL Server仅配置为用于Windows身份验证。我通过使用它登录到域来验证用户/通行证。数据库和MSSQL实例属于域管理员,我认为这可能是问题,但不确定。

我也试图在两个SQL Server的计算机禁用UAC,但是这并没有帮助(是的,我重新启动)。

希望有人能够知道发生了什么。我对SQL Server相当陌生,所以我认为它可能是愚蠢的,但谷歌没能找到解决方案(谷歌出现的错误似乎是用户无法访问SSMS,这不是我的问题......这很好)。

要设置复制,我跟着微软导向的http://msdn.microsoft.com/en-us/library/aa337389.aspx。它没有提到这个特殊的错误。我尝试了3次,重新设置了这个过程,并得到了相同的结果。

任何指着我在正确的方向将是有益的(但请不要点我一个1000页长的MSDN文章,并希望我通过解析)。

谢谢!

+0

这是在黑暗中拍摄的照片,但是您是否尝试以sqlrepl_distrib身份登录到分发服务器的Windows服务器,然后尝试从那里启动与订户的SQL连接?我在我的环境中出现了一个愚蠢的错误,与您的服务器SPN类似,但在我要修复的事情列表中很低。如果失败(或者说,如果我上面描述的登录场景成功了),您是否可以在分发者或订阅者的Windows事件日志中看到任何可能表明问题出在哪里的东西? – 2011-04-14 17:56:24

+0

你刚刚提醒我......我确实更新了SPN,看起来似乎有道理。我发布的错误是我在任一主机的事件日志中看到的唯一错误,它也显示在SMSS日志中。我没有尝试以sqlrepl_distrib用户身份登录,但我会尝试一下,看看会发生什么。 – user708391 2011-04-14 18:39:12

回答

0

运行服务的用户是什么?

请检查命名实例的spn是否已注册,以及sql server浏览器服务的spn是否为强制kerberos身份验证从浏览器服务委派。

并确保浏览器服务启用委托给Windows广告上的SQL SPN。

0

在SOL服务器配置管理器首先检查登录使用什么用户--->为 例如用户身份登录:-NT AUTHORITY \ NETWORK SERVICE

检查所有出版商和发行商和用户“登录”(对于你必须检查'NT AUTHORITY \ NETWORK SERVICE'这个登录名是否存在,如果没有登录名创建新登录名'NT AUTHORITY \ NETWORK SERVICE'全部出版商和分销商和订户。

你可以右键点击上面的登录 - >采取属性 - > usermapping - >更改选项 - >在这里选择该数据库并给予permitions DB_woner和PUBLIC到数据库 像你可以更改所有发布者和分发者和订户。

ofter是重新运行复制

注: 这里我LOGON与NT AUTHORITY \ NETWORK SERVICE 和 我的数据库是:Sudheer

检查你自己是什么LOGON用“? ???”和数据库是'???'在你的系统中!