KB4042232 - REMEDIERE: Violarea accesului atunci când anulați o interogare în așteptare dacă este activată caracteristica Indexuri lipsă în SQL Server

Se aplică la
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Simptome

Luați în considerare următorul scenariu:

  • Aveți o procedură stocată care creează un tabel temporar în Microsoft SQL Server.

  • Executați o interogare pe care o emite procedura stocată, iar interogarea îndeplinește următoarele condiții:

    • Interogarea face referire la tabelul temporar creat de procedura stocată.
    • Interogarea are o clauză WHERE care nu este acoperită de indexuri, iar caracteristica indexuri lipsă este activată.
  • Să presupunem că procedura stocată este apelată simultan din mai multe instanțe. Apoi, tabelele temporare sunt create și eliminate frecvent, iar acest lucru va duce la crearea și ștergerea frecventă a înregistrărilor corespunzătoare pentru indexurile lipsă.

  • În această situație, dacă o interogare în așteptare a procedurii stocate este anulată, este posibil să primiți o eroare de încălcare a accesului.

Rezolvare

Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:

Actualizarea cumulativă 2 pentru SQL Server 2017

Actualizarea cumulativă 9 pentru SQL Server 2016 RTM

Actualizarea cumulativă 6 pentru SQL Server 2016 SP1

Actualizarea cumulativă 8 pentru SQL Server 2014 SP2

Despre actualizările cumulative pentru SQL Server:

Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:

Cea mai recentă actualizare cumulativă pentru SQL Server 2017

Cea mai recentă actualizare cumulativă pentru SQL Server 2016

Cea mai recentă actualizare cumulativă pentru SQL Server 2014

Soluție

Soluția pentru această problemă este să activați semnalizarea de urmărire (TF) 2392 , care va suprima colecția de indexuri lipsă.

Mai multe informații

Pentru a obține mai multe informații despre caracteristica indexurilor lipsă, consultați linkul următor:

Caracteristica Indexuri lipsă

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.