Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Angenommen, Sie erstellen eine gespeicherte Prozedur, die einen Cursor für eine Tabellenvariable in Microsoft SQL Server 2012 oder SQL Server 2014 verwendet. Darüber hinaus aktualisiert die gespeicherte Prozedur die Tabelle, indem Sie eine WHERE-CURRENT- Anweisung zusammen mit dem Cursor verwendet. Beispielsweise kann die gespeicherte Prozedur wie folgt aussehen:

CREATE PROCEDURE dbo.usp_TestSP AS  BEGIN  DECLARE @TableVar TABLE (SomeInt INT NULL) INSERT @TableVar VALUES (NULL)  DECLARE @curInt INT, @newInt INT SET @newInt = 1  DECLARE ccc CURSOR LOCAL FOR SELECT SomeInt FROM @TableVar WHERE SomeInt IS NULL  OPEN ccc  FETCH NEXT FROM ccc INTO @curInt UPDATE @TableVar SET SomeInt = @newInt WHERE CURRENT OF cccCLOSE ccc  SELECT * FROM @TableVar END 

Wenn Sie die gespeicherte Prozedur mithilfe der gespeicherten Systemprozedur sp_refreshsqlmodule ausführen, kann eine Zugriffsverletzung auftreten, und Sie erhalten möglicherweise Fehlermeldungen, die wie folgt aussehen:

Msg 596, Stufe 21, Zustand 1Cannot fortsetzen der Ausführung, da sich die Sitzung im Zustand "Kill" befindet. Msg 0, Stufe 20, Zustand 0A schwerer Fehler beim aktuellen Befehl. Die Ergebnisse, falls vorhanden, sollten verworfen werden.

In diesem Fall werden Fehler, die den folgenden ähneln, auch in die SQL Server-Fehlerprotokolle geschrieben:

Datum Uhrzeit. 730 spid51 SqlDumpExceptionHandler: Prozess 51 hat eine schwerwiegende Ausnahme c0000005 EXCEPTION_ACCESS_VIOLATION generiert. SQL Server is terminating this process.date time.730 spid51 * *******************************************************************************date time.730 spid51 *date time.730 spid51 * BEGIN STACK DUMP:date time.730 spid51 * date time spid 51date time.730 spid51 *date time.730 spid51 *date time.730 spid51 * Exception Address = 00007FFC270236D5 Module(sqllang+00000000005036D5)date time.730 spid51 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATIONdate time.730 spid51 * Access Violation occurred reading address 0000006F00620074date time.730 spid51 * Input Buffer 136 bytes -date time.730 spid51 * EXECUTE sp_refreshsqlmodule N'[dbo]. [usp_TestSP] "Datum Uhrzeit. 730 spid51 * Datum Uhrzeit. 730 spid51 *

Lösung

Informationen zum kumulativen Update

Dieses Problem wurde in den folgenden Updates behoben:

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:

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Informationsquellen

Erfahren Sie mehr über die Terminologie , mit der Microsoft Softwareupdates beschreibt.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×