Simptome
Să presupunem că aveți un tabel care are un trigger LMD în Microsoft SQL Server 2008 R2, SQL Server 2012 sau SQL Server 2014 și în acel trigger vă asociați la tabelul inserat/șters cu alte tabele. Atunci când executați o instrucțiune LMD în acest tabel, se poate produce o încălcare a accesului în timpul compilării trigger și primiți următoarea eroare:
S-a produs o eroare severă la comanda curentă. Rezultatele, dacă este cazul, ar trebui eliminate.
În plus, următoarele erori sunt înregistrate în Jurnalul de erori SQL Server:
<data><timp> SPID # * * * stivă dump fiind trimis la <numecale>\SQLDumpxxx.txt<data><timp> SPID # SqlDumpExceptionHandler: proces # generate fatal excepție c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server încheie acest proces.<data><ora> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *-* * * * * * * * * * * * * *><<>><<><2 dată><dată><5 SPID # * ><6 dată><dată><9 spid #><0 dată>< dată><3 SPID # *><4 dată><timp><7 SPID # *><8 dată><timp> spid # * adresă de excepție = 00000000009E4F2A module (Sqlservr + 00000000002D4F2A)<data><ora> SPID # * cod de excepție = c0000005 EXCEPTION_ACCESS_VIOLATION<dată><timp> SPID # * violarea accesului a avut loc scris adresa 0000000000000000<dată><dată> SPID # * intrare tampon 510 bytes-<dată><timp> SPID # * SQL_query_code
Rezolvare
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 1 pentru SQL Server 2012 SP2 /en-us/help/2976982
Actualizarea cumulativă 2 pentru SQL Server 2014 /en-us/help/2967546
Actualizare cumulativă 10 pentru SQL Server 2012 SP1 /en-us/help/2954099
Actualizare cumulativă 12 pentru SQL Server 2008 R2 SP2 /en-us/help/2938478
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Soluție de evitare
Pentru a rezolva problema, nu utilizați tabelul inserat/șters direct într-o interogare care se asociază cu alte tabele, în loc să-l memorați într-un tabel temp și să utilizați tabelul temp în interogare.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.