現象
トランザクションレプリケーションで SQL Server 2014 パブリッシャーと SQL Server 2012 サブスクライバーを使用すると、ディストリビューションエージェントが失敗し、次のエラーメッセージが表示されます。
プロシージャまたは関数 sp_MSreplraiserror に指定された引数が多すぎます。 (ソース: MSSQLServer, エラー番号: 8144)ヘルプを表示: http://help/8144
原因
この問題は、SQL Server 2012 と sql Server 2014 の間で sp_MSreplraiserror の定義が変更されていることが原因で発生します。 この変更により、ディストリビューションエージェントがサブスクライバーで定義を実行したときに、エラーメッセージがトリガーされます。 このエラーメッセージは、次のようになります。
テーブル 'Schemaのレプリケートされた削除コマンドを適用するときに、サブスクライバーで行が見つかりませんでした。主キーを持つTable_Name': [いいえ] = x (ソース: MSSQLServer, エラー番号: xxxxx)
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
Sql server 2016 RTM の累積更新プログラム 5 (SQL server 2016 SP1 の累積更新プログラム 2 )
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。 SQL Server 2016 の最新の累積的な更新プログラム
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語 について説明します。