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:
- Kumulatives Update 6 für SQL Server 2019
- Kumulatives Update 21 für SQL Server 2017
- Kumulatives Update 13 für SQL Server 2016 SP2
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:
- Neuestes kumulatives Update für SQL Server 2019
- Neuestes kumulative Update für SQL Server 2017
- Neuestes kumulatives Update für SQL Server 2016
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.