Platí pro
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)

Příznaky

Když spustíte komplexní příkaz Update spolu s NOLOCK pokynem pro tabulku v Microsoft SQL serveru 2008, SQL serveru 2012, SQL serveru 2008 R2 nebo SQL Server 2014, může dojít k poškození neclusterovaných indexů. Kromě toho se v protokolu chyb systému SQL Server pravděpodobně zaznamená následující chybová zpráva:

<><čas )> číslo spid # Chyba: 8646, závažnost: 21, stav: 1. <data><čas> SPID # nelze najít položku rejstříku v ID indexu 3 v tabulce 2102402659, v databázi <DatabaseName>. Označený index je poškozený nebo došlo k problému s aktuálním plánem aktualizace. Spusťte příkaz DBCC CHECKDB nebo DBCC CHECKTABLE. Pokud problém přetrvává, obraťte se na zákaznickou podporu. <data><čas ,> číslo SPID # using ' dbghelp. dll ' verze ' 4.0.5 ' <data><času> SPID # * * dump Thread-SPID = 0, ES = 0x0000000BD70624C0<Datum><čas> MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 datum><čas> spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *. * * * * * * * * * * * * * * CPerIndexMetaQS,> SPID Date # * <datum Date><čas> číslo SPID # * spustit výpis zásobníku: <datum><čas>čas <čas><datum>času <SPID # *::><<ErrorAbort – poškození indexu ><čas> SPID # *><0 Time

PoznámkaNa zdrojové tabulky v příkazu můžete použít NOLOCK Na cílové tabulky v příkazu ale nemůžete použít NOLOCK

Příčina

K tomuto problému dochází, protože NOLOCK v dotazu způsobí, že dotaz nesprávně přečte hodnoty v tabulce, když dotaz přečte stejné hodnoty vícekrát.

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.