Problembeschreibung
Angenommen, Sie verfügen über eine Tabelle mit einem DML-Trigger in Microsoft SQL Server 2008 R2, SQL Server 2012 oder SQL Server 2014, und in diesem Trigger fügen Sie eine Tabelle mit eingefügten/gelöschten Tabellen hinzu. Wenn Sie eine DML-Anweisung für diese Tabelle ausführen, kann während der Trigger-Kompilierung eine Zugriffsverletzung auftreten, und es wird die folgende Fehlermeldung angezeigt:
Für den aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Die Ergebnisse, falls vorhanden, sollten verworfen werden.
Darüber hinaus werden folgende Fehler im SQL Server-Fehlerprotokoll protokolliert:
<Datum><Uhrzeit> SPID # * * * Stack-Dump, der an <filePath gesendet wird>\SQLDumpxxx.txt<Datum><Uhrzeit> SPID # SqlDumpExceptionHandler: Process # generated schwerwiegende Ausnahme c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beendet diesen Prozess.<Datum><Uhrzeit> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *<Datum><Uhrzeit> SPID # *<Datum><Uhrzeit><1 SPID # * Stack-Dump beginnen:><2 Datum><Uhrzeit><5 SPID # * ><6 Datum><Uhrzeit><9 SPID # #d20 Datum><Uhrzeit><3 SPID # *><4 Datum><Uhrzeit><7 SPID # *><8 Datum><Uhrzeit> SPID # * Ausnahmeadresse = 00000000009E4F2A-Modul (sqlservr + 00000000002D4F2A) #d32 Datum><Uhrzeit> SPID # * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION<Datum><Uhrzeit> SPID # * Zugriffsverletzung beim Schreiben der Adresse 0000000000000000<Datum><Uhrzeit> SPID # * Eingabepuffer 510 Bytes-<Datum><Uhrzeit> SPID # * SQL_query_code
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 1 für SQL Server 2012 SP2 /en-us/help/2976982
Kumulatives Update 2 für SQL Server 2014 /en-us/help/2967546
Kumulatives Update 10 für SQL Server 2012 SP1 /en-us/help/2954099
Kumulatives Update 12 für SQL Server 2008 R2 SP2 /en-us/help/2938478
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Problemumgehung
Um das Problem zu umgehen, verwenden Sie die eingefügte/gelöschte Tabelle nicht direkt in einer Abfrage, die mit anderen Tabellen verknüpft ist, sondern speichern Sie Sie in einer temporären Tabelle, und verwenden Sie die temporäre Tabelle in der Abfrage.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.