KB4014706 - 修正: sp_replcmds ストアド プロシージャが SQL Server でキャンセルされた後、アサーションが失敗し、多くのアクセス違反ダンプ ファイルが発生する

適用先
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

現象

ログ リーダー エージェントまたは 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 製品の問題であることを確認しました。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。