症状

在事务复制中,当你使用 SQL Server 2014 发布者和 SQL Server 2012 订阅者时,分发代理将失败,并且你会收到以下错误消息:

过程或函数 sp_MSreplraiserror 指定了太多参数。 (源: MSSQLServer,错误号码:8144)获取帮助: http://help/8144

原因

出现此问题的原因是 sp_MSreplraiserror 在 sql server 2012 的定义更改为 sql server 2014。 当分发代理在订阅服务器上运行定义时,此更改会触发一条错误消息。 错误消息类似于以下内容:

对表的架构应用复制的删除命令时,在订阅服务器上找不到该行。Table_Name"With Primary Key: [no] = x (Source: MSSQLServer,错误编号: xxxxx

解决方案

在 SQL Server 的以下累积更新中修复了此问题:

    Sql server 2016 RTM 累积更新(Sql server 2016 SP1 的累积更新 2 )的累积更新 5     

SQL Server 2014 的累积更新 3 Service Pack 2

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:   SQL Server 2016 的最新累积更新

SQL Server 2014 的最新累积更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。