現象
ログ リーダー エージェントまたは CDC スキャン ジョブは、 sp_replcmds ストアド プロシージャを実行して、レプリケーション用にマーク付けされたコマンドを返します。 Microsoft SQL Server では、ストアド プロシージャの実行中に取り消されると、次のような失敗したアサーションが SQL Server エラー ログに記録されることがあります。
注
エラー: 17066、重大度: 16、状態: 1。
SQL Server アサーション: File:< replicat.cpp>, lineNumber Failed Assertion = 'db_mem'. このエラーはタイミングに関連している可能性があります。 ステートメントを再実行してもエラーが解決しない場合は、DBCC CHECKDB を使用してデータベースの構造的整合性をチェックするか、サーバーを再起動してメモリ内データ構造が破損していないことを確認します。
さらに、失敗したアサーション ダンプの後に複数のアクセス違反ダンプ ファイルが作成されます。
解決策
この問題は、次の SQL Server の累積的な更新プログラムで修正されています。
SQL Server 2016 RTM の累積的な更新プログラム 6
SQL Server 2016 SP1 の累積的な更新プログラム 3
SQL Server 2014 SP2 の累積的な更新プログラム 5
SQL Server 2012 Service Pack 3 の累積的な更新プログラム 8
推奨事項: SQL Server の最新の累積的な更新プログラムをインストールする
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
SQL Server 2016 の最新の累積的な更新プログラム
SQL Server 2014 の最新の累積的な更新プログラム
SQL Server 2012 SP3 の最新の累積的な更新プログラム
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。