Symptoms
Assume that you enable Implicit Transactions at the server level in Microsoft SQL Server. You notice that the following assertion dump is generated continuously:
<DateTime> spid NNs * BEGIN STACK DUMP:
<DateTime> spid NNs * <DateTime> spid NN
<DateTime> spid NNs *
<DateTime> spid NNs * Location: purecall.cpp:LineNumber
<DateTime> spid NNs * Expression: !"purecall"
<DateTime> spid NNs * SPID: 5
<DateTime> spid NNs * Process ID: ProcessID
<DateTime> spid NNs * Description: Pure virtual function call
…
<DateTime> spid NNs Error: 17065, Severity: 16, State: 1.
<DateTime> spid NNs SQL Server Assertion: File: <purecall.cpp>, line =LineNumber Failed Assertion = '!"purecall"' Pure virtual function call. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.
<DateTime> spid NNs Error: 3624, Severity: 20, State: 1.
<DateTime> spid NNs 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.
Additionally, you may also receive non-yielding messages that resemble the following in the SQL error log:
<DateTime> Server Process 0:0:0 (0x3c08) Worker 0x00000242BD8EA160 appears to be non-yielding on Scheduler 10. Thread creation time: 13228659375902. Approx Thread CPU Used: kernel 0 ms, user 52312 ms. Process Utilization 16%. System Idle 70%. Interval: 70347 ms.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Resolution
Cumulative Update information:
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:
References
Learn about the terminology that Microsoft uses to describe software updates.