设置数据库复制时启动快照代理时出现异常
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.dll
、msoledbsqlr.rll
),但在我的情况下这不是问题。
【讨论】:
上一个 SQL Server 版本 15.0.2000.5 (X64) 仍然存在问题。解决方法有效,谢谢! 对我来说没有必要更新驱动程序。只需按照说明复制 msoledbsqlr.rll 文件即可使其正常工作。谢谢! @Wowe 很高兴我能帮上忙。如果问答对你有帮助,你可以考虑点赞,这样未来的读者会更快找到解决方案:) 答案已经被投票了,我现在对这个问题也做了同样的事情。 :)以上是关于设置数据库复制时启动快照代理时出现异常的主要内容,如果未能解决你的问题,请参考以下文章
在SQL Sever复制数据库时出现启动、执行SQL Server代理作业错误的解决方法