gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:31:47 25 4
gpt4 key购买 nike

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

根据一些帖子,该问题似乎存在于 SQL Server 2008 中,但此后显然已得到修复。我尝试了以下方法:

  • @partition_options = 0, as was suggested somewhere.

  • Copied ssrpub.dll (the resolver dll) to the Subscriber machine (should not really matter as this is 'push' subscription?)

  • Registered ssrpub.dll with regsvr32 on the Publisher/Distributor machine.

我还在 Publisher 机器上运行了 sp_enumcustomresolvers,它很高兴地显示了所有标准解析器,包括“Microsoft SQL Server Subscriber Always Wins Conflict Resolver”。

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

另请注意,如果我通过 SSMS 创建一个 发布,文章属性对话框的解析器选项卡是空的,即它没有列出任何解析器。如果为现有出版物打开,同一选项卡包含解析器的完整列表。

最佳答案

是的,事实证明 SQL Server Express 不支持自定义 COM 冲突解决程序;实际上在这里确认:https://support.microsoft.com/en-us/kb/2664701 .还有自定义存储过程冲突解决程序,但它们需要特殊的“Microsoft SQLServer 存储过程解决程序”,这是一个 COM 解决程序,因此在 SQL Server Express 中也不支持。

关于sql - 合并复制不适用于非默认冲突解决程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31806754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com