FIX: Distribution Agent fails for a SQL Server 2014 publisher and a SQL Server 2012 subscriber in Transactional Replication

Applies to: SQL Server 2014 DeveloperSQL Server 2014 DeveloperSQL Server 2014 Enterprise More

Symptoms


In Transactional Replication, when you use a SQL Server 2014 publisher and a SQL Server 2012 subscriber, the Distribution Agent fails, and you receive the following error message:

Procedure or function sp_MSreplraiserror has too many arguments specified. (Source: MSSQLServer, Error number: 8144)
Get help: http://help/8144

Cause


This issue occurs because the definition of sp_MSreplraiserror changed between SQL Server 2012 to SQL Server 2014. This change triggers an error message when the definition is run on the subscriber by the Distribution Agent. The error message resembles the following:

The row was not found at the Subscriber when applying the replicated DELETE command for Table 'Schema.Table_Name' with Primary Key(s): [no] = x (Source: MSSQLServer, Error number: xxxxx)

Resolution


This issue is fixed in the following cumulative updates for SQL Server:

    Cumulative Update 5 for SQL Server 2016 RTM

    Cumulative Update 2 for SQL Server 2016 SP1

 

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Learn about the terminology that Microsoft uses to describe software updates.