Sql 合并复制不适用于非默认冲突解决程序
我一直在评估SQL Server 2014上的合并复制、“推送”订阅。如果使用了默认的解析器(我指的是sp_addmergearticle的@article_resolver参数),那么一切似乎都能正常工作。但是,如果我使用“Microsoft SQL Server Subscriber Always Wins Conflict Resolver”(或任何其他MS标准冲突解决程序),如果订阅服务器位于不同的计算机上,合并代理程序将始终给出以下错误:“进程无法初始化。请验证组件是否已正确注册。” 如果订阅服务器与发布服务器和分发服务器位于同一台计算机上,则不会发生这种情况 根据一些帖子的说法,这个问题似乎存在于SQLServer2008中,但显然从那时起已经得到了解决。我尝试了以下方法: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标准冲突解决程序),如果订阅服务器位于不同的计算机上,合并代理程序将始终给出以下错误:“进程无法初始化。请验证组件是否已正确注册。”
- @分区_选项=0,正如在某处建议的那样
- 已将ssrpub.dll(解析程序dll)复制到订阅服务器计算机上(这实际上不重要,因为这是“推送”订阅?)
- 在发布服务器/分发服务器计算机上使用regsvr32注册了ssrpub.dll
还要注意,如果我通过SSMS创建新发布,则“项目属性”对话框的“冲突解决程序”选项卡为空,即它不列出任何冲突解决程序。如果为现有出版物打开,则同一选项卡包含冲突解决程序的完整列表。是,SQL Server Express不支持自定义COM冲突解决程序;这实际上在这里得到了证实:。
还有自定义存储过程冲突解决程序,但它们需要一个特殊的“Microsoft SQL Server存储过程冲突解决程序”,这是一个COM冲突解决程序,因此在SQL Server Express中也不受支持。一个重要的更新:我刚刚在远程计算机上尝试了“完整”SQL Server而不是SQL Server Express,而且非默认解析器也可以工作!因此,SQL Server Express似乎不支持非默认解析程序:-((下一步将尝试非标准(自定义)解析程序,我将不断向您更新它的运行情况。非常感谢您的研究和信息。我想问您是否尝试了托管(.NET)解析程序。由于它不是COM解析程序,您知道它是否可以工作吗?