Отнася се за
SQL Server 2016 Service Pack 2 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)

Симптоми

Да предположим, че изпълните заявка, включваща съединение или агрегиране в колона, която е покрита от една колона и повече колони статистики (в които тази колона не е водещите колони). Ако използвате нестандартен оценител на Кардиналност (CE) в SQL Server 2016, може да се подценява числото на отделни редове. Това води до подоптимални планове за изпълнение на заявки (например: ниската оценка може да доведе до недостатъчна памет за оператор за хеширане, което кара заявката да се разливи в tempdb).

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Решение

Този проблем е коригиран в следната сборна актуализация за SQL Server:

Забележка За да влезе в сила тази корекция, трябва да разрешите спешните корекции на заявките с помощта на 4199 за проследяване на флага или съответната опция за конфигуриране или подсещане на заявка.

За сборните актуализации за SQL Server:

Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:

Заобиколно решение

Този проблем може да бъде коригиран чрез добавяне на следния намек за заявка:

ИЗПОЛЗВАТЕ СЪВЕТ ("FORCE_LEGACY_CARDINALITY_ESTIMATION")

Препратки

Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.