设置数据库复制时启动快照代理时出现异常

Posted

技术标签:

【中文标题】设置数据库复制时启动快照代理时出现异常【英文标题】:Exception when starting Snapshot Agent when setting up database replication 【发布时间】:2020-06-24 11:14:38 【问题描述】:

我正在尝试设置数据库之间的复制。我遵循了这个教程:

https://docs.microsoft.com/en-us/sql/relational-databases/replication/tutorial-preparing-the-server-for-replication?view=sql-server-ver15

之后:

https://docs.microsoft.com/en-us/sql/relational-databases/replication/tutorial-replicating-data-between-continuously-connected-servers?view=sql-server-ver15

我先通过了,没有任何问题。几乎完成了第二个,但我坚持了一步View the status of snapshot generation

当我尝试对快照代理进行分层时,我收到错误:

异常消息:本机 SQL Server 连接组件中出现未指定的错误。

我试图在互联网上搜索 MSSQL_REPL55012(这是我得到的错误代码),但没有成功。

我尝试查看 SQL Profiler、作业历史记录、复制监视器,甚至从 PowerShell 运行失败的作业步骤,但无法获得更多信息。

可能是什么问题?还有其他人偶然发现的吗?

我正在使用:

SSMS 版本 15.0.18206.0

SQL Server 引擎 15.0.2000.5

【问题讨论】:

【参考方案1】:

我知道这个问题已得到解答,但为了将来参考,将 SQL Server 2019 更新到最新的 CU 为我解决了问题。

【讨论】:

。它通过原始 2019 安装解决了这个问题。得到了 CU,一切正常。【参考方案2】:

我终于解决了。问题是缺少 OLE DB 驱动程序。

我刚刚下载了latest driver。然后我在目录C:\Windows\SysWOW64\1033 中得到了msoledbsqlr.rll 驱动程序。然后我复制到C:\Program Files\Microsoft SQL Server\150\COM目录,这样可以被快照代理运行的snapshot.exe找到。

另外,可以定义环境变量指向C:\Windows\SysWOW64\1033 目录,这样就可以在那里找到。

另一个问题可能是 64 位 SQL 尝试使用 32 位驱动程序(msoledbsql.dllmsoledbsqlr.rll),但在我的情况下这不是问题。

【讨论】:

上一个 SQL Server 版本 15.0.2000.5 (X64) 仍然存在问题。解决方法有效,谢谢! 对我来说没有必要更新驱动程序。只需按照说明复制 msoledbsqlr.rll 文件即可使其正常工作。谢谢! @Wowe 很高兴我能帮上忙。如果问答对你有帮助,你可以考虑点赞,这样未来的读者会更快找到解决方案:) 答案已经被投票了,我现在对这个问题也做了同样的事情。 :)

以上是关于设置数据库复制时启动快照代理时出现异常的主要内容,如果未能解决你的问题,请参考以下文章

在SQL Sever复制数据库时出现启动、执行SQL Server代理作业错误的解决方法

复制表时出现约束异常?

使用护照Laravel创建令牌时出现异常

通过上下文菜单将文本从edittext复制到剪贴板时出现异常?

雪花:加载时出现错误限制时无法复制?

将我的复制设置到远程弹性搜索集群时出现问题