KB3201554 – корекция: дълъг сборен час за заявка, която съдържа много отделни оператори в SQL Server 2016

Симптоми

Логиката на оценка на кардиналност, известна като оценител на кардиналност (CE), е променена в SQL Server 2014 (нива на съвместимост 120) и SQL Server 2016 (нива на съвместимост 130), за да подобрите качеството на плановете за заявки. Когато обаче съставяте сложна заявка, която съдържа много съединения с ОТДЕЛЕН оператор или ГРУПИРАне по оператора, съставянето може да отнеме много по-дълго време от очакваното.

Решение

Тази актуализация, която коригира този проблем, е включена в Service Pack 1 за SQL Server 2016.Забележка След като инсталирате тази актуализация, трябва да зададете 4199 флаг, за да разрешите корекцията. За да зададете 4199 за проследяване на флаг, вижте темата за проследяване на флагове (преговаряй SQL) в MSDN.

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

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

За да решите проблема по заобиколен начин, използвайте един от следните методи:

  • Използвайте проследяване на флаг 9481, за да зададете модела за изчисление на кардиналност на заявка за SQL Server 2012 или по-стара версия.

  • Промяна на нивото на съвместимост на базата данни с SQL Server 2012 (110) или по-стара версия.

Състоянието

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

Препратки

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

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

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Доколко сте доволни от качеството на превода?

Какво е повлияло на вашия потребителски опит?

Имате ли допълнителна обратна връзка? (по избор)

Благодарим ви за обратната връзка!

×