Simptomai
Apsvarstykite šį scenarijų:
-
Bandote vykdyti užklausą naudodami numatytuosius " Cardinality" vertinimus , kai įgalinta histogramos pataisa.
-
Užklausoje yra išraiškų, esančių stulpelyje, kuris naudojamas vienoje iš nurodytų.
Tokiu atveju atsiranda prieigos pažeidimas. Be to, gaunate šį klaidos pranešimą:
MSG 596, lygis 21, būsenos 1, linijinė LineNumber Negalima tęsti vykdymo, nes seansas yra naikinimo būsenoje. MSG 0, 20 lygio, būsenos 0 , linijinė linija Dabartinėje komandoje įvyko rimta klaida. Rezultatai, jei jų yra, turi būti šalinami.
Pastaba. Histogramos pakeitimą galima įgalinti naudojant užuominų naudojimo (ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS) užklausos parinktį arba sekimo vėliavėlę 4139.
Sprendimas
Ši problema išspręsta šiuose "SQL Server" naujinimuose:
Kaupiamasis naujinimas 8 SQL serverio 2017
Kaupiamasis naujinimas 5 SQL serverio 2016 2 pakeitimų paketui
Apie "SQL Server" komponavimo versijas
Kiekvienoje naujoje "SQL Server" versijoje yra visos karštosios pataisos ir saugos pataisos, kurios buvo ankstesniame komponavimo versijoje. Rekomenduojame įdiegti naujausią "SQL Server" versijos komponavimo versiją:
Naujausias "SQL Server 2017" Komponavimo versija
Naujausias Kaupiamasis naujinimas, skirtas "SQL Server 2016"
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.
Nuorodos
DBCC TRACEON – Trace vėliavėlės (Transact-SQL)
Sužinokite apie standartinę terminologiją "Microsoft" naudoja programinės įrangos naujinimams apibūdinti.