Симптоми
Обмислете следния сценарий:
-
Можете да използвате конфигурация на кардиналност (CE), която отговаря на нивото на съвместимост на базата данни 120 или на по-късен етап за вашата система Microsoft SQL Server 2016 и 2017.
-
Изпълните заявка, която съдържа предикат за търсене.
-
Заявката търси стойности, които са по-малки или равни на което и да е число, което е по-малко от минималната стойност на RANGE_HI_KEY , която се съхранява в обекта за статистика. Или заявката търси стойности, които са по-големи от максималната стойност на RANGE_HI_KEY за една и съща статистика.
В този случай оптимизатора на заявки надценява броя на редовете. Това може да стане причина за по-неоптималния избор на план на заявка и лоша производителност.
Решение
Корекцията за този проблем е включена в следните сборни актуализации за SQL Server:
Сборна актуализация 6 за SQL Server 2017
Кумулативна актуализация 8 за SQL Server 2016 SP1
Кумулативна актуализация 2 за SQL Server 2016 Забележка След като инсталирате тази актуализация, трябва да разрешите Трейс Flag 4199, за да разрешите тази корекция. За да разрешите следа флаг 4199, вижте темата за проследяване на флагове (преговаряй SQL) в уеб сайта на Microsoft Developer NETWORK (MSDN).
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.