Applies ToSQL 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 Express - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Web - duplicate (do not use)

Симптоми

Логиката на оценка на кардиналност, известна като оценител на кардиналност (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 използва, за да опише софтуерни актуализации.

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

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

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