Gilt für
SQL Server 2008 Service Pack 3 SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Standard SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Problembeschreibung

Wenn Sie eine komplexe Update -Anweisung zusammen mit einem NOLOCK -Hinweis für eine Tabelle in Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 oder SQL Server 2014 ausführen, kann eine nicht gruppierte Indexbeschädigung auftreten. Darüber hinaus kann die folgende Fehlermeldung im SQL Server-Fehlerprotokoll protokolliert werden:

<Datum><Uhrzeit> SPID # Fehler: 8646, Schweregrad: 21, Zustand: 1. <Datum><Uhrzeit> SPID # Indexeintrag in der Index-ID 3 der Tabelle 2102402659 in der Datenbank "<DatabaseName>" nicht gefunden. Der angegebene Index ist beschädigt, oder es liegt ein Problem mit dem aktuellen Updateplan vor. Führen Sie DBCC CHECKDB oder DBCC CHECKTABLE aus. Wenn das Problem weiterhin besteht, wenden Sie sich an den Produktsupport. <Datum><Uhrzeit> SPID # using "dbghelp. dll" Version "4.0.5" <Datum><Uhrzeit> SPID # * * Dump Thread-SPID = 0, EC = 0x0000000BD70624C0<Datum><Uhrzeit> SPID # * * * Stack-Dump wird an Y:\MSSQL\MSSQL10. gesendet MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 Datum><Uhrzeit> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <Datum><Uhrzeit> SPID # * <Datum><Uhrzeit> SPID # * Stack-Dump starten: <Datum><Uhrzeit> SPID # * <Datum><Uhrzeit> SPID # <Datum><Uhrzeit> SPID # * <Datum><Uhrzeit> SPID # * CPerIndexMetaQS:: ErrorAbort-Index Beschädigung><0 Datum><Uhrzeit> SPID # *

HinweisSie können einen NOLOCK -Hinweis auf Quelltabellen in einer Anweisung anwenden. Es ist jedoch nicht möglich, einen NOLOCK -Hinweis auf Zieltabellen in einer Anweisung anzuwenden.

Ursache

Dieses Problem tritt auf, weil der NOLOCK -Hinweis die Abfrage dazu veranlasst, Werte in der Tabelle falsch zu lesen, wenn die Abfrage dieselben Werte mehrmals liest.

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.

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.