Симптоми
Обмислете следния сценарий:
-
Опитвате се да изпълните заявка, като използвате изчислението на кардиналност по подразбиране, докато промяната в хистограмата е разрешена.
-
Заявката включва изрази в колона, която се използва в един от тези предикати.
В този случай възниква нарушение на достъпа. Освен това се извежда следното съобщение за грешка:
MSG 596, ниво 21, щат 1, линия LineNumber Не можете да продължите изпълнението, защото Сеансът е в състояние на убийство. MSG 0, ниво 20, състояние 0, линия LineNumber Възникнала е тежка грешка в текущата команда. Резултатите, ако има такива, трябва да бъдат отхвърлени.
ЗабележкаКорекцията на хистограмата може да бъде разрешена, като се използва опцията "подсещане за използване" ("ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS") или трейс Flag 4139.
Решение
Този проблем е коригиран в следните актуализации за SQL Server:
Кумулативна актуализация 8 за SQL Server 2017
Кумулативна актуализация 5 за SQL Server 2016 Service Pack 2
За компилациите на SQL Server
Всяка нова компилация за SQL Server съдържа всички поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
DBCC TRACEON – проследяващи флагове (преговаряне – SQL)
Запознайте се с стандартната терминология , която Microsoft използва, за да опише софтуерни актуализации.