現象
次のような状況で問題が発生します。
-
主キーを持つテーブルを作成し、Microsoft SQL Server 2019 または 2017 で行をいくつか追加します。
-
既定の制約を持つ列を追加し、新しい列を含むように主キーを変更します。
-
このテーブルのトランザクション パブリケーションとサブスクリプションを作成します。
このシナリオでは、新しい列を追加する前に存在していた行に対してサブスクライバーで UPDATE または DELETE を適用しようとすると、ディストリビューション エージェントが失敗します。 さらに、次の "20598" エラー メッセージが表示されます。
テーブル 'TableName' にレプリケートされた UPDATE コマンドを主キーで適用するときに、サブスクライバーで行が見つかりませんでした: (null)
解決方法
この問題は、SQL Serverの次の累積的な更新プログラムで修正されます。
SQL Serverの各新しい累積的な更新プログラムには、以前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 SQL Serverのバージョンの最新のビルドをインストールすることをお勧めします。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft がソフトウェア更新プログラムの説明に使用する 用語 について説明します。