Sümptomid
Kui käivitate keeruka värskenduse lause koos NOLOCK Vihjega tabeli Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 või SQL Server 2014, võib ilmneda rühmitamata indeksi rike. Lisaks võidakse SQL serveri tõrkelogi logida järgmise tõrketeatega:
<kuupäev><kellaaeg> spid # tõrge: 8646, raskusaste: 21, olek: 1. <Date><Time> spid # ei leia indeksi ID 3 tabeli 2102402659, andmebaasi "<DatabaseName>". Näidatud indeks on vigane või on olemas probleem praeguse Update ' i paketiga. Käivitage DBCC CHECKDB või DBCC CHECKTABLE. Kui probleem ei lahene, pöörduge tootetoe poole. <kuupäev><aeg> spid # "Dbghelp. dll" versioon "4.0.5" <Date><aeg> spid # * * DUMP Thread-spid = 0, EC = 0x0000000BD70624C0<Date><aeg> spid # * * * Stack dump saadetakse Y:\MSSQL\MSSQL10. MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 kuupäev><aeg> spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <Date><Time> spid # * <Timedate><aeg> spid # * Alusta pinu Time DUMP : <date><aeg> spid # * <Date><aeg> spid# <ErrorAbort -register korruptsioon><0 Date><Time> spid # *
Märkus.Saate lisada NOLOCK vihje lauses olevatele tabelitele. Siiski ei saa lauses NOLOCK vihjet rakendada.
Põhjus
See probleem ilmneb, sest NOLOCK vihje põhjustab päringu valesti lugeda tabelis olevaid väärtusi, kui päring loeb samu väärtusi mitu korda.
Lahendus
Probleem parandati esmakordselt SQL serveri järgmises koondvärskenduses.
Kumulatiivne Update 1 SQL Server 2014 /en-us/help/2931693
Kumulatiivne värskendus 11 SQL Server 2012 /en-us/help/2908007
Kumulatiivne Update 7 SQL Server 2012 SP1 jaoks /en-us/help/2894115
Kumulatiivne Update 13 SQL Server 2008 hoolduspaketi SP3 jaoks /en-us/help/2880350
Kumulatiivne Update 9 SQL Server 2008 R2 hoolduspaketi SP2 jaoks /en-us/help/2887606
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.