我正在尝试在对等集群中再添加一个节点。 在当前状态下,我有3个服务器A,B和C。 我需要添加带有节点A(仅)的节点D。 为此,我使用了以下步骤:
命令运行后,节点A中的日志读取器开始引发以下错误:
由于这会影响节点A,B和C之间的p2p复制,因此我删除了对节点D的订阅。 这不能解决错误。 在进一步调查中,我发现“分发清理”作业仍在运行。 可能是造成问题的原因。
现在,我只是希望在已经存在的节点A,B和C之间重新进行p2p复制,就像以前一样。 但是,我的所有尝试都没有导致Log Reader Agent发生变化。 它被卡在相同的错误。 -该进程无法在“节点A”上执行“ sp_MSadd_replcmds”。 (源:MSSQLServer,错误号:1007) 获取帮助:http://help/1007 -同步从指定备份创建的nosync订阅所需的事务在分发服务器上不可用。 使用最新的日志,差异备份或完整数据库备份再次重试该操作。 (源:MSSQLServer,错误号:1007) 获取帮助:http://help/1007 -IDistPut接口已关闭。 (来源:MSSQL_REPL,错误号:MSSQL_REPL2000) 获取帮助:http://help/MSSQL_REPL2000 -最后一步没有记录任何消息! (来源:MSSQL_REPL,错误号:MSSQL_REPL22037) 获取帮助:http://help/MSSQL_REPL22037
请提供任何解决此问题的建议。 谢谢
答案 0 :(得分:1)
添加解决方案以使在SQL 2012上遇到此问题的所有人受益: 我们为此寻求了MS支持。显然,他们存储的过程“ sp_dropsubscriber”有时会丢失某些表。在我们的情况下,未从表MSnosyncsubsetup中删除该条目。经过数小时的分析,一旦他们发现了这一点,便进行备份,并删除与新订户相关的行。 这样可以修复日志读取器,并且复制工作正常进行。