Teď jste offline a čekáte, až se znova připojí internet.

Oprava: Index bez clusterů může dojít k poškození při spuštění složitý dotaz UPDATE a NOLOCK nápovědy proti tabulky v serveru SQL Server

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

2878968
Příznaky
Při spuštění složitý dotaz UPDATE a NOLOCK nápovědy proti tabulky v Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 nebo SQL Server 2014, může dojít k poškození indexu bez clusterů. Navíc může být zaznamenána následující chybová zpráva v protokolu chyb serveru SQL Server:

Datum>čas> spid # Chyba: 8646, závažnosti: 21, stát: 1.
Datum>čas> spid # nelze nalézt položku rejstříku v indexu ID 3, 2102402659, tabulka v databázi 'DatabaseName> ". Zadaný index je poškozený nebo došlo k potížím s aktuální plán aktualizace. Spustit DBCC CHECKDB nebo DBCC CHECKTABLE. Pokud potíže potrvají, obraťte se na odbornou pomoc.
Datum>čas> spid # pomocí 'dbghelp.dll' verze "4.0.5."
Datum>čas> spid # ** výpis stavu podprocesu - spid = 0, ES = 0x0000000BD70624C0
Datum>čas> spid # *** výpisem zásobníku odesílán Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Datum>čas> spid # *
Datum>čas> spid # * BEGIN výpis zásobníku:
Datum>čas> spid # * Datum>čas> spid #
Datum>čas> spid # *
Datum>čas> spid # * CPerIndexMetaQS::ErrorAbort - poškození indexu
Datum>čas> spid # *

Poznámka:
můžete použít nápovědu NOLOCK zdrojových tabulek v příkazu. Nelze však použít nápovědu NOLOCK cílových tabulek v příkazu.

Příčina
K tomuto problému dochází, protože nápovědy NOLOCK způsobí, že dotaz nesprávné čtení hodnoty v tabulce dotazu vícekrát přečte stejné hodnoty.
Řešení
Tento problém byl poprvé opraven v následující kumulativní aktualizace serveru SQL Server.

Kumulativní aktualizace 1 pro SQL Server 2014

Kumulativní aktualizace 11 pro SQL Server 2012

Kumulativní aktualizace 7 pro SQL Server 2012 SP1

Kumulativní aktualizace 13 pro SQL Server 2008 SP3

Kumulativní aktualizace 9 pro SQL Server 2008 R2 s aktualizací SP2

O kumulativní aktualizace pro SQL Server

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. Rezervovat nejnovější kumulativní aktualizace pro SQL Server:
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Upozornění: Tento článek byl přeložen automaticky

Vlastnosti

ID článku: 2878968 - Poslední kontrola: 04/22/2014 23:08:00 - Revize: 5.0

  • Microsoft SQL Server 2008 Service Pack 3
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Standard
  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMtcs
Váš názor
s">