2010-07-19 84 views
1

我在我们的某个客户端网站上收到了一条非常奇怪的错误消息,我试图弄清楚发生了什么事情的运气很少。SQL Server合并复制错误

HR = 80040154错误:未能OpenDB越来越 酒馆版本28627

,其是从合并代理(IIS)日志中的错误消息。从我可以告诉,这是一个COM错误不能加载一个特定的COM对象,但我不知道哪一个。从那以后,我认为这位客户可能没有安装任何东西,但我不知道那是什么。

有没有人有任何想法可能没有安装?任何其他想法如何解决这个问题?

谢谢。

回答

0

事实证明,有是没有注册的DLL快照。它是sqloledb.dll(C:\ Program Files \ Common Files \ System \ Ole DB)。我通过在合并代理上使用?diag找到了这一点。

HTTP:////sqlcesa35.dll诊断

页面所显示它正在使用和这样的DLL版本的很好的总结。当我在客户端的网站上做到这一点时,它显示该DLL的版本“未知”。在DLL上运行regsvr32允许sqlcesa35.dll看到它,并且诊断页面显示了一个版本号。

0

此错误可能与权限有关:您是否配置了快照共享并将IUSER_Machine名称权限授予读取和列出文件和文件夹?

您可以使用详细历史记录日志重新开始同步,如下所述:How to enable replication agents for logging to output files in SQL Server

检查这些:

  • 确保您的订阅数据库不自动增长超时。
  • 确保有足够的空间应用在用户
+0

作为故障排除步骤,我们让每个人都拥有对该快照共享(包括NTFS和文件共享权限)的完全权限。 我们可以给日志记录一个镜头。感谢您的建议。 从我可以告诉,没有什么是SQL Server的。在我看来,合并代理根本无法与SQL Server交谈。我以前应该说过,但要明确一点,合并代理和SQL Server都运行在同一台计算机上。 – Bryan 2010-07-19 14:51:49

+0

该日志记录没有帮助。有什么方法可以查看sqlcesa35.dll并查看它尝试使用哪个COM对象? – Bryan 2010-07-19 21:30:27