現象
たとえば次のようなシナリオを考えてみます。
- Microsoft SQL Server 2012 または SQL Server 2014 でレプリケーションを使用します。
- レプリケーション サブスクリプションにサブスクリプションを追加してから削除します。
このシナリオでは、次のエラー 515 が発生する可能性があります。
注
列 'article_id'、テーブル '<DistributionDatabaseName>.dbo' に値 NULL を挿入できません。MSrepl_commands';列では null 値は許可されません。 INSERT 失敗。
原因
この問題は、SQL Server 2012 のリグレッションが原因で発生します。 サブスクリプションを追加してから削除すると、LogReader がサブスクリプションを追加するコマンドを検出する前に遅延があるため、サブスクリプションに関するレプリケーション メタデータはすぐに削除されます。
解決策
この問題は、次の SQL Server の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP2 の累積的な更新プログラム 1 /en-us/help/2976982
SQL Server 2014 用の累積的な更新プログラム 2 /en-us/help/2967546
SQL Server 2012 SP1 用の累積的な更新プログラム 10 /en-us/help/2954099
SQL Server 用の累積的な更新プログラムについて
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
- SQL Server 2012 SP2 の最新の累積的な更新プログラム
- SQL Server 2014 の最新の累積的な更新プログラム
- SQL Server 2012 SP1 の最新の累積的な更新プログラム
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。