KB4042232 – PATAISYMAS: prieigos pažeidimas atšaukiant laukiančią užklausą, jei trūkstamų indeksų funkcija įjungta „SQL Server“

Taikoma
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

Požymiai

Apsvarstykite šį scenarijų:

  • Turite išsaugotą procedūrą, kuri sukuria laikiną lentelę "Microsoft „SQL Server“".

  • Vykdote užklausą, kad išsaugotos procedūros problemos ir užklausa atitinka tokias sąlygas:

    • Užklausa nurodo laikinąją lentelę, sukurtą naudojant įrašytąją procedūrą.
    • Užklausoje yra sąlyga WHERE, kurios neapima jokie indeksai, ir įjungta trūkstamų indeksų funkcija.
  • Tarkime, kad įrašytoji procedūra yra iškviečiama vienu metu iš kelių egzempliorių. Tada laikinosios lentelės sukuriamos ir dažnai pašalinamos, todėl dažnai kuriami ir panaikinami atitinkami trūkstamų indeksų įrašai.

  • Tokiu atveju, atšaukus laukiančią įrašytosios procedūros užklausą, galite gauti prieigos pažeidimo klaidą.

Sprendimas

Ši problema išspręsta šiuose kaupiamuosiuose "„SQL Server“" naujinimuose:

2 kaupiamasis naujinimas, skirtas „SQL Server“ 2017

9 kaupiamasis naujinimas, skirtas „SQL Server“ 2016 RTM

6 kaupiamasis naujinimas, skirtas „SQL Server“ 2016 SP1

8 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP2

Apie "„SQL Server“" kaupiamuosius naujinimus:

Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:

Naujausias "„SQL Server“ 2017" kaupiamasis naujinimas

Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2016

Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas

Sprendimo būdas

Šią problemą galima išspręsti įgalinant sekimo vėliavėlę (TF) 2392 , kuri sustabdys trūkstamų indeksų rinkinį.

Daugiau informacijos

Norėdami gauti daugiau informacijos apie trūkstamų indeksų funkciją, žr. šį saitą:

Trūkstamų indeksų funkcija

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.

Nuorodos

Sužinokite daugiau apie terminus, kuriuos „„Microsoft““ naudoja apibūdindama programinės įrangos naujinimus.