Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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 合并复制不适用于非默认冲突解决程序_Sql_Sql Server_Merge Conflict Resolution_Merge Replication_Resolver - Fatal编程技术网

Sql 合并复制不适用于非默认冲突解决程序

Sql 合并复制不适用于非默认冲突解决程序,sql,sql-server,merge-conflict-resolution,merge-replication,resolver,Sql,Sql Server,Merge Conflict Resolution,Merge Replication,Resolver,我一直在评估SQL Server 2014上的合并复制、“推送”订阅。如果使用了默认的解析器(我指的是sp_addmergearticle的@article_resolver参数),那么一切似乎都能正常工作。但是,如果我使用“Microsoft SQL Server Subscriber Always Wins Conflict Resolver”(或任何其他MS标准冲突解决程序),如果订阅服务器位于不同的计算机上,合并代理程序将始终给出以下错误:“进程无法初始化。请验证组件是否已正确注册。”

我一直在评估SQL Server 2014上的合并复制、“推送”订阅。如果使用了默认的解析器(我指的是sp_addmergearticle的@article_resolver参数),那么一切似乎都能正常工作。但是,如果我使用“Microsoft SQL Server Subscriber Always Wins Conflict Resolver”(或任何其他MS标准冲突解决程序),如果订阅服务器位于不同的计算机上,合并代理程序将始终给出以下错误:“进程无法初始化。请验证组件是否已正确注册。” 如果订阅服务器与发布服务器和分发服务器位于同一台计算机上,则不会发生这种情况

根据一些帖子的说法,这个问题似乎存在于SQLServer2008中,但显然从那时起已经得到了解决。我尝试了以下方法:

  • @分区_选项=0,正如在某处建议的那样

  • 已将ssrpub.dll(解析程序dll)复制到订阅服务器计算机上(这实际上不重要,因为这是“推送”订阅?)

  • 在发布服务器/分发服务器计算机上使用regsvr32注册了ssrpub.dll

我还在发布服务器上运行了sp_enumcustomresolvers,它很高兴地显示了所有标准的冲突解决程序,包括“Microsoft SQL Server订阅服务器总是赢得冲突解决程序”

另一个想法是,我使用SQLServerExpress作为订户(在远程机器上)。也许它不支持自定义解析器?(我在“local subscriber”变体中使用完整的SQL Server,正如我前面提到的那样,它工作正常)


还要注意,如果我通过SSMS创建新发布,则“项目属性”对话框的“冲突解决程序”选项卡为空,即它不列出任何冲突解决程序。如果为现有出版物打开,则同一选项卡包含冲突解决程序的完整列表。

是,SQL Server Express不支持自定义COM冲突解决程序;这实际上在这里得到了证实:。
还有自定义存储过程冲突解决程序,但它们需要一个特殊的“Microsoft SQL Server存储过程冲突解决程序”,这是一个COM冲突解决程序,因此在SQL Server Express中也不受支持。

一个重要的更新:我刚刚在远程计算机上尝试了“完整”SQL Server而不是SQL Server Express,而且非默认解析器也可以工作!因此,SQL Server Express似乎不支持非默认解析程序:-((下一步将尝试非标准(自定义)解析程序,我将不断向您更新它的运行情况。非常感谢您的研究和信息。我想问您是否尝试了托管(.NET)解析程序。由于它不是COM解析程序,您知道它是否可以工作吗?