現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2016を継承しています。
-
システムのバージョン管理を有効にする前または有効にしたときに分割されたテンポラルテーブルがある。
-
自動的に作成された (匿名または既定の) 履歴テーブルが構成されます。
-
システムのバージョン管理を無効にした後、履歴テーブルで ALTER TABLE SWITCH PARTITIONステートメントを実行します。
このシナリオでは、 次のようなアサーションエラーが表示されます。
メッセージ3624、レベル20、状態1、 LineNumber システムアサーションのチェックに失敗しました。 詳細については、SQL Server エラーログを確認してください。 通常、アサーションエラーはソフトウェアバグまたはデータの破損が原因で発生します。 データベースが破損していないかどうかを確認するには、DBCC CHECKDB の実行を検討します。 セットアップ時に Microsoft にダンプを送信することに同意した場合は、ミニダンプが Microsoft に送信されます。 更新プログラムは、最新の Service Pack またはテクニカルサポートの修正プログラムで Microsoft から提供されている場合があります。 メッセージ596、レベル21、状態1、 LineNumber セッションが強制終了状態にあるため、実行を続行できません。 メッセージ0、レベル20、状態0、 LineNumber 現在のコマンドで重大なエラーが発生しました。 結果は破棄する必要があります。
解決方法
この問題の修正プログラムは、次の更新プログラムに含まれています。
-
SQL Server 2016 Service Pack 1 の累積更新プログラム 3
-
SQL Server 2016 の累積更新プログラム 6
SQL Server 2016 用の新しいビルドごとに、以前のビルドに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server 2016 用の最新のビルドをインストールすることをお勧めします。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft でソフトウェアの更新について説明する 用語 について説明します。