Príznaky
Predpokladajme, že máte tabuľku s spúšťačom DML v Microsoft SQL Server 2008 R2, SQL Server 2012 alebo SQL Server 2014 a v tomto spúšťači sa pripojili vložené alebo odstránené tabuľky s inými tabuľkami. Keď spustíte príkaz DML v tejto tabuľke, počas kompilácie spúšťača sa môže vyskytnúť porušenie prístupu a zobrazí sa táto chyba:
V aktuálnom príkaze sa vyskytla závažná chyba. Prípadné výsledky by mali byť zahodené.
Okrem toho sa v denníku chýb servera SQL Server zaznamenávajú tieto chyby:
<dátum><času> číslo SPID # * * * výpis zásobníka sa odosiela na <rozbaľovacej>\SQLDumpxxx.txt<dátum><času> číslo SPID # SqlDumpExceptionHandler: proces # vygeneroval fatálna výnimka c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server ukončí tento proces.<dátum><času> číslo SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *<dátum><času> číslo SPID # *<dátum><času><1 číslo SPID # * začiatok výpisu zásobníka:><2 dátum><času><5 číslo SPID # * ><6 dátum><času><9 číslo SPID #><0 dátum><času><3 číslo spid # *><4 dátum><času><7 číslo SPID # *><8 dátum><času> číslo SPID # * Exception Address = 00000000009E4F2A module (Sqlservr + 00000000002D4F2A)<dátum><času> číslo SPID # * kód výnimky = c0000005 EXCEPTION_ACCESS_VIOLATION<dátum><času> číslo SPID # * porušenie prístupu sa vyskytlo pri písaní adresy 0000000000000000<dátum><času> číslo SPID # * vstupná medzipamäť 510 bajtov-<dátum><času> číslo SPID # * SQL_query_code
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia balíka 1 pre SQL Server 2012 SP2 /en-us/help/2976982
Kumulatívna aktualizácia 2 pre SQL Server 2014 /en-us/help/2967546
Kumulatívna aktualizácia balíka 10 pre SQL Server 2012 SP1 /en-us/help/2954099
Kumulatívna aktualizácia 12 pre SQL Server 2008 R2 SP2 /en-us/help/2938478
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Alternatívne riešenie
Ak chcete problém obísť, nepoužívajte vloženú alebo odstránenú tabuľku priamo v dotaze, ktorý sa pripája k iným tabuľkám, namiesto toho ju vyrovnávaciu pamäť v tabuľke temp a použite tabuľku temp v dotaze.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.