KB4563597 – KORREKTUR: Assertionsabbild kann auftreten, wenn implizite Transaktionen in SQL Server 2019, 2017 und 2016 aktiviert sind.

Gilt für
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2019 on Windows

Symptome

Angenommen, Sie aktivieren implizite Transaktionen auf Serverebene in Microsoft SQL Server. Sie stellen fest, dass das folgende Assertionsabbild kontinuierlich generiert wird:

< 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 * Ausdruck: !" purecall"

< Datetime> spid NNs * SPID: 5

< Datetime> spid NNs * Prozess-ID: ProcessID

< Datetime> spid NNs * Beschreibung: Reiner virtueller Funktionsaufruf

< Datetime> spid NNs Fehler: 17065, Schweregrad: 16, Status: 1.

< Datetime> spid NNs SQL Server Assertion: File: <purecall.cpp>, line =LineNumber Failed Assertion = '!" purecall" ' Reiner virtueller Funktionsaufruf. Dieser Fehler kann zeitlich bedingt sein. Wenn der Fehler nach dem erneuten Ausführen der Anweisung weiterhin auftritt, verwenden Sie DBCC CHECKDB, um die Datenbank auf strukturelle Integrität zu überprüfen, oder starten Sie den Server neu, um sicherzustellen, dass die In-Memory-Datenstrukturen nicht beschädigt sind.

< Datetime> spid NNs Fehler: 3624, Schweregrad: 20, Status: 1.

< Datetime> spid NNs Eine Systemassertionsprüfung ist fehlgeschlagen. Weitere Informationen finden Sie im SQL Server Fehlerprotokoll. In der Regel wird ein Assertionsfehler durch einen Softwarefehler oder eine Datenbeschädigung verursacht. Erwägen Sie die Ausführung von DBCC CHECKDB, um nach einer Beschädigung der Datenbank zu suchen. Wenn Sie während des Setups zugestimmt haben, Dumps an Microsoft zu senden, wird ein Minidump an Microsoft gesendet. Möglicherweise ist ein Update von Microsoft im neuesten Service Pack oder in einem Hotfix vom technischen Support verfügbar.

Darüber hinaus erhalten Sie möglicherweise auch nicht liefernde Meldungen, die im SQL-Fehlerprotokoll wie folgt aussehen:

< Datetime> Server process 0:0:0 (0x3c08) Worker 0x00000242BD8EA160 scheint auf Scheduler 10 nicht zu liefern. Threaderstellungszeit: 13228659375902. Ca. Verwendete Thread-CPU: Kernel 0 ms, Benutzer 52312 ms. Prozessauslastung 16 %. Systemleerlauf 70 %. Intervall: 70347 ms.

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Lösung

Informationen zum kumulativen Update:

Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:

Informationen zu kumulativen Updates für SQL Server:

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

      

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.