Застосовується до
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2019 on Windows

Ознаки

Припустимо, що у вас є таблиця з обмеженням зовнішнього ключа для каскадного видалення, а статистика у стовпці зовнішній ключ не покриває весь діапазон значень ключа в таблиці (наприклад, оскільки статистика не оновлюватиметься після зміни розподілу даних до таблиці). У цьому сценарії під час спроби видалити рядок, що відповідає значенню ключа, не відображене в гістограмі статистики, а в Оптимізаторі запитів використовується Оцінка за замовчуванням, якщо операцію видалення буде повільніше, ніж очікувалося. Ви також можете помітити, що для пошуку відповідних рядків у таблиці посилань використовується операція перевірки індексу.

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Спосіб вирішення

Ця проблема усунена в таких сукупних оновлень для SQL Server:

Примітка. Це виправлення активується, лише якщо ввімкнути функцію оптимізатора виправлень (за допомогою параметра конфігурація рівня бази даних, підказки або трасування 4199).

Відомості про накопичувальне оновлення для сервера SQL Server:

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:

Інші способи вирішення

Щоб вирішити цю проблему, скористайтесь одним із запропонованих нижче способів.

  • Використання оцінки застарілих оцінок. Докладні відомості наведено в статті оцінювання кількості _ даних (SQL Server).

  • Видаліть Каскадне видалення з визначення зовнішнього ключа та виконайте операцію видалення за допомогою об'єднання між батьківськими та дочірніми таблицями, щоб виконати еквівалент каскадного видалення.

  • Оновлення статистики в батьківській таблиці з FULLSCAN перед видаленням даних.

Посилання

Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.