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

Mic*_*zyn 5 sql sql-server replication database-replication transactional-replication

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

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

之后:

https://learn.microsoft.com/en-us/sql/relational-databases/replication/tutorial-replicating-data- Between-Continously-connected-servers?view=sql-server-ver15

我先通过了,没有任何问题。几乎完成了第二个,但我停留在步骤查看快照生成的状态

当我尝试 strat 快照代理时,出现错误:

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

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

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

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

我在用:

  • SSMS 版本 15.0.18206.0

  • SQL Server 引擎 15.0.2000.5

Mic*_*zyn 15

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

我刚刚下载了最新的驱动程序。然后我msoledbsqlr.rll在目录中找到了驱动程序C:\Windows\SysWOW64\1033。然后我复制到C:\Program Files\Microsoft SQL Server\150\COM目录,因此可以通过 找到它snapshot.exe,它是由快照代理运行的可执行文件。

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

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

  • 对我来说不需要更新驱动程序。只需按照所述复制 msoledbsqlr.rll 文件就足以使其正常工作。谢谢你! (2认同)