FIX: Assertion dump occurs when you select a view on a linked server in SQL Server 2016 and 2017

Applies to: SQL Server 2017 on Windows (all editions)SQL Server 2016 DeveloperSQL Server 2016 Enterprise

Symptoms


Assume that you have a view or function that contains a statement with a union on a linked server in an instance of SQL Server 2016 or 2017. When you select from the view or function and then further filter the results, you get a stack dump. In addition, you receive the following error message that returns to the client:

Location:                op_decod.cpp:7525

Expression:           false

SPID:                         SPID

Process ID:            ProcessID

Msg 3624, Level 20, State 1, Line 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, Line LineNumber

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

Msg 0, Level 20, State 0, Line LineNumber

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

Resolution


This issue is fixed in the following cumulative updates 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:

Workaround


To work around the issue, you can enable trace flag 9121.

References


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