Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 合并复制-发布服务器缺少来自订阅服务器的数据_Sql Server 2005_Merge Replication - Fatal编程技术网

Sql server 2005 合并复制-发布服务器缺少来自订阅服务器的数据

Sql server 2005 合并复制-发布服务器缺少来自订阅服务器的数据,sql-server-2005,merge-replication,Sql Server 2005,Merge Replication,我有一个使用SQL 2005合并复制的数据库,并且已经将数据插入到订阅服务器中,但从未转到发布服务器。我相信在14天的保留期内发生了冲突,我再也看不到了。我可以手动将它们添加到发布服务器中吗?任何想法或指导我一个好的链接是感激的。多谢各位 如果冲突发生在当前保留期之前,我认为没有任何魔法可以让它恢复。您能否删除订阅并重新创建它(同时手动同步增量)?可能是最安全的行动。在我回答这个问题之前,请注意以下说明可能非常危险,必须非常小心。这个解决方案对我有效,因为所讨论的表只写入一(1)个订阅者,而不写

我有一个使用SQL 2005合并复制的数据库,并且已经将数据插入到订阅服务器中,但从未转到发布服务器。我相信在14天的保留期内发生了冲突,我再也看不到了。我可以手动将它们添加到发布服务器中吗?任何想法或指导我一个好的链接是感激的。多谢各位

如果冲突发生在当前保留期之前,我认为没有任何魔法可以让它恢复。您能否删除订阅并重新创建它(同时手动同步增量)?可能是最安全的行动。

在我回答这个问题之前,请注意以下说明可能非常危险,必须非常小心。这个解决方案对我有效,因为所讨论的表只写入一(1)个订阅者,而不写入其他地方。基本上我所做的是:

  • 暂停复制(我实际上禁用了我正在处理的订阅服务器的复制作业,并在完成时启用了它)
  • 将表的标识插入设置为启用(自动标识用于表)
  • 将表格更改为NOCHECK约束repl\u标识\u范围(此处为一些十六进制值)
  • 已禁用表的MSmerge_ins_(此处为某些十六进制值)触发器。(请确保在完成时启用该触发器)
  • 插入行
  • 将“插入”设置为“禁用”
  • 已启用MSmerge_ins_(此处为某些十六进制值)触发器
  • 将表格更改为检查约束repl_identity_range_(此处为一些十六进制值)
  • 通过运行sp_help,可以找到repl_identity_range约束的名称。我建议您在完成后使用诸如“红门数据比较”之类的工具进行验证,以确保。根据您的情况,您可能还必须在所有订阅服务器上手动插入数据。仅供参考,我必须在生产数据库上执行此操作,而不会中断最终用户。请小心