KB4042232 – RJEŠENJE: kršenje pristupa prilikom otkazivanja upita na čekanju ako je u SQL Server omogućena značajka indeksa koji nedostaju

Primjenjuje se na
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

Simptomi

Razmotrite sljedeći scenarij:

  • Imate spremljenu proceduru koja stvara privremenu tablicu u sustavu Microsoft SQL Server.

  • Pokrećete upit koji pohranjuje procedura i upit zadovoljava sljedeće uvjete:

    • Upit se poziva na privremenu tablicu stvorenu pohranjenom procedurom.
    • Upit sadrži uvjet WHERE koji nije pokriven nikakvim indeksima i omogućena je značajka indeksa koji nedostaju.
  • Pretpostavimo da se pohranjena procedura poziva istodobno iz više instanci. Tada se privremene tablice često stvaraju i ispuštaju, što će dovesti do čestog stvaranja i brisanja odgovarajućih zapisa za indekse koji nedostaju.

  • U tom se slučaju, ako se upit pohranjene procedure na čekanju otkaže, možda ćete primiti pogrešku povrede prava pristupa.

Rješenje

Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:

Kumulativno ažuriranje 2 za SQL Server 2017

Kumulativno ažuriranje 9 za SQL Server 2016 RTM

Kumulativno ažuriranje 6 za SQL Server 2016 SP1

Kumulativno ažuriranje 8 za SQL Server 2014 SP2

O kumulativnim ažuriranjima za SQL Server:

Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Najnovije kumulativno ažuriranje za SQL Server 2017

Najnovije kumulativno ažuriranje za SQL Server 2016

Najnovije kumulativno ažuriranje za SQL Server 2014

Zaobilazno rješenje

Zaobilazno rješenje za taj problem jest omogućivanje oznake Trace Flag (TF) 2392 koja će onemogućiti prikupljanje indeksa koji nedostaju.

Dodatne informacije

Dodatne informacije o značajci koja ne sadrži indekse potražite na sljedećoj vezi:

Značajka Nedostaju indeksi

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Reference

Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.