現象
次のような状況で問題が発生します。
-
SQL Server 2016 または Windows の2017で、ストアドプロシージャまたはアドホック Transact-sql バッチ内に OUTPUT 句を含む MERGE ステートメントを実行します。
-
ターゲットデータベースでは BULK_LOGGED またはシンプルな回復モデルが使用されます。
-
他のデータベースのテーブルに大量のデータ (たとえば、6000の行など) を挿入します。
このシナリオでは、アサーションエラーが発生し、次のようなエラーメッセージが表示されることがあります。
Msg 3624、Level 20、State 1、Line LineNumber
システムアサーションのチェックに失敗しました。 詳細については、SQL Server エラーログを確認してください。 通常、アサーションエラーはソフトウェアバグまたはデータの破損が原因で発生します。 データベースが破損していないかどうかを確認するには、DBCC CHECKDB の実行を検討します。 セットアップ時に Microsoft にダンプを送信することに同意した場合は、ミニダンプが Microsoft に送信されます。 更新プログラムは、最新の Service Pack またはテクニカルサポートの修正プログラムで Microsoft から提供されている場合があります。
解決方法
累積的な更新情報:
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server 2016 SP2 の累積更新プログラム4
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
オンデマンドのホットフィックスの情報:
この問題は、次の SQL Server のオンデマンド hotfixe で修正されています。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。