我们有一个发布商和三个订阅者。同一局域网上的两个用户和一个远程用户。
每天晚上我们都会面临一个问题,即复制失败并且不会重新启动。
消息显示:每个发布商都失败。
我们不确定发生了什么,但到了晚上我们已经安排了维护计划,我怀疑这可能会导致我们的复制工作停止......
作为临时补丁,我尝试做的是,如果状态在超过30分钟内显示为FAILED,则会有一个重启复制的程序。
我们已经创建了一个检测当前复制状态的程序,因此我们现在需要知道如何以编程方式(存储过程或命令行)重新启动每个订阅者的复制。
我们想要的是打开复制监视器时的确切功能,右键单击订阅者,然后单击“开始同步”#34;。顺便说一句,当我们每天早上到办公室时,正确地开始复制。
答案 0 :(得分:1)
基于以上所述,如果您已经有一个程序检测到复制状态并知道何时需要再次启动它,那么您应该从命令行执行replmerge
。探查器可以提供有关命令行参数的详细信息,您可以执行该命令。
此post详细说明了如何从命令行启动此命令。
希望这有帮助。
答案 1 :(得分:1)
我使用下面的代码在CMD中同步合并发布。
参数详情: -
出版物 - “RmoMergePub”
Publisher - “。\ SQLSERVER2014”
订阅者 - “。\ SQLEXPRESS2014”
分销商 - “。\ SQLSERVER2014”
发布商数据库 - “RMOser”
订阅者数据库 - “RMOcli”
"C:\Program Files\Microsoft SQL Server\100\COM\REPLMERG.EXE" -Publication "RmoMergePub" -Publisher ".\SQLSERVER2014" -Subscriber ".\SQLEXPRESS2014" -Distributor ".\SQLSERVER2014" -PublisherDB "RMOser" -SubscriberDB "RMOcli" -PublisherSecurityMode 1 -OutputVerboseLevel 2 -SubscriberSecurityMode 1 -SubscriptionType 1 -DistributorSecurityMode 1 -Validate 3 -ParallelUploadDownload 1