Ознаки
Розглянемо такий сценарій:
-
У вас є запит, який використовує предикат без рівноправності в унікальному стовпці GUID у SQL Server 2014 або 2016.
-
Статистика оновлюється за допомогою вибірки за замовчуванням. Або нові рядки вставляються до таблиці після останнього оновлення статистики.
-
SQL Server використовує нову оцінювач, у якому режим сумісності бази даних настроєно на 120.
-
Значення GUID не рівномірно розподілені по таблиці.
У цьому сценарії під час запуску запиту може виникати низька продуктивність через неправильне оціночна кількість рядків для предиката в плані запиту.
Спосіб вирішення
Ця проблема була спочатку усунена в такому сукупному оновленні для SQL Server:
Сукупне оновлення 6 для SQL server 2014 Service Pack 1 накопичувальне оновлення 1 для SQL Server 2016Після інсталяції цього сукупного пакета оновлень потрібно ввімкнути позначку трасування 4199. Для цього можна додати параметр запуску -T4199 . Крім того, ви можете скористатися заявою DBCC traceon (4199) для певного сеансу.
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Найновіше Сукупне оновлення для SQL Server 2014Найновіше Сукупне оновлення для SQL Server 2016
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".
Посилання
Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.