FIX: Assertion occurs when you run an ALTER TABLE SWITCH statement on a partitioned temporal history table in SQL Server 2016

Gjelder: SQL Server 2016 Enterprise CoreSQL Server 2016 EnterpriseSQL Server 2016 Developer

Symptoms


Consider the following scenario:

  • You're usign Microsoft SQL Server 2016.
  • You have a temporal table that's partitioned before or while turning on system versioning.
  • An automatically created (anonymous or default) history table is configured.
  • You turn off system versioning, and then you run an ALTER TABLE SWITCH PARTITION statement on the history table.
In this scenario, you receive an assertion error that resembles the following:
Msg 3624, Level 20, State 1, LineNumber

A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a Hotfix from Technical Support.

Msg 596, Level 21, State 1, LineNumber

Cannot continue the execution because the session is in the kill state.

Msg 0, Level 20, State 0, LineNumber

A severe error occurred on the current command.  The results, if any, should be discarded.

Resolution


The fix for this problem is included in the following updates:

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Learn about the terminology Microsoft uses to describe software updates.