KB2888658 – eine Zugriffsverletzung tritt auf, wenn die sys.dm_db_index_physical_stats-Funktion in einer IF EXISTS-Anweisung in einer SQL-Abfrage in SQL Server 2012 verwendet wird.

Problembeschreibung

Sie führen eine SQL-Abfrage aus, die eine if exists -Anweisung in Microsoft SQL Server 2012 enthält. Wenn die if exists -Anweisung die dynamische Verwaltungsfunktion sys.dm_db_index_physical_statsenthält, erhalten Sie eine Zugriffsverletzung, die der folgenden ähnelt:

Date time SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # * *datetime * * * # * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** *.timeDate TimeSPID #* Datum Zeit SPID#DatumZeit SPID # *DatumZeit SPID # *DatumUhrzeit SPID #* Exception Address = 000007FF7DA5614B-Modul (sqlmin + 000000000000614B)Datetime SPID # * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATIONDatumZeit SPID# * Zugriffsverletzung aufgetreten Lesen Adresse 0000000800000F04DatumUhrzeit SPID # * Eingabepuffer 510 Bytes-DatumZeit SPID # * SQL_query_codeDatumZeit SPID # * Ende

Hinweise

  • Wenn Sie den Befehl DBCC CHECKDB für diese Datenbank ausführen, nachdem die Zugriffsverletzung erfolgt ist, wird kein Fehler gemeldet.

  • Die Zugriffsverletzung tritt nicht auf, wenn Sie die SQL-Abfrage zum ersten Mal ausführen. Die Zugriffsverletzung tritt jedoch jedes Mal auf, wenn Sie die SQL-Abfrage danach ausführen.

  • Wenn Sie das Ablaufverfolgungsflag 3654 aktivieren, tritt die Zugriffsverletzung nicht auf. Stattdessen wird in der Ablaufverfolgung jedoch der folgende Fehler angezeigt:

    Ort: sosmemdbg. cpp: 2074Expression: FALSESPID: 55Process ID: 16972Description: MEMOBJ_INDEXANALYSIS--unfreier Speicher erkannt. Msg 3624, Stufe 20, Zustand 1, Zeile 5A System Assertionsüberprüfung ist fehlgeschlagen. Weitere Informationen finden Sie im SQL Server-Fehlerprotokoll. In der Regel wird ein Assertionsfehler durch einen Softwarefehler oder Datenbeschädigung verursacht. Wenn Sie nach einer Datenbankbeschädigung suchen möchten, sollten Sie DBCC CHECKDB ausführen. Wenn Sie während des Setups zugestimmt haben, Dumps an Microsoft zu senden, wird ein Mini-dump an Microsoft gesendet. Möglicherweise ist ein Update von Microsoft im neuesten Service Pack oder in einem QFE vom technischen Support erhältlich. Msg 0, Ebene 20, Zustand 0, Zeilen 0A schwerer Fehler beim aktuellen Befehl. Die Ergebnisse, falls vorhanden, sollten verworfen werden.

Lösung

Installieren Sie das kumulative Update 7 für SQL Server 2012 SP1, um dieses Problem zu beheben. Dieses Problem wurde zuerst in diesem kumulativen Update behoben.

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Weitere Informationen finden Sie im aktuellen kumulativen Update für SQL Server 2012 SP1.

Status

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

Informationsquellen

Lesen Sie die Begriffe , die Microsoft zum Beschreiben von Softwareupdates verwendet.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×