FIX: Assertion occurs when you run DATABASE SCOPED command in SQL Server 2016

Applies to: SQL Server 2016 Service Pack 2SQL Server 2016 DeveloperSQL Server 2016 Enterprise

Symptoms


Assumethat you use Microsoft SQL Server 2016. When you run ALTER command to changedatabase scoped configuration and also use function fn_dblog to retrieve themodified rows of the database, then you may receive an Assertion error. Here isone of the command to change database scoped configuration parameter.

ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = Off;

Additionally, messages that resemble thefollowing are logged in the SQL Server error log.


<DateTime>spid<n>      Using 'dbghelp.dll' version '4.0.5'
<DateTime>spid<n>      **Dump thread - spid = 0, EC =0x0000028909775730
<DateTime>spid<n>      ***Stack Dump being sent to<FilePath\FileName>\SQLDump<nnnnn>.txt
<DateTime>spid<n>      ********************************************************************************
<DateTime>spid<n>      *
<DateTime>spid<n>      * BEGIN STACK DUMP:
<DateTime>spid<n>      *   <DateTime>spid <SPID>
<DateTime>spid<n>      *
<DateTime>spid<n>      * Location: medutil.cpp:LineNumber
<DateTime>spid<n>      *Expression:           FALSE
<DateTime>spid<n>      *spid:                 <SPID>
<DateTime>spid<n>      * ProcessID:           <PID>
<DateTime>spid<n>      *Description:          Invalid switch value

Status


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

Resolution


This issue is fixed in the following cumulative update for SQL Server:
About cumulative updates for SQL Server:
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

References


Learn about the terminology that Microsoft uses to describe software updates.