Застосовується до
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) 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)

Ознаки

Розглянемо такий сценарій:

  • У вас є дуже великий таблицю FileStream.

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

  • Оптимізатор запитів вибирає паралельний план виконання.

У цьому сценаріївиникає таке повідомлення про помилку, які можуть з'явитися в журналі помилок SQL Server, а також у разі появи повідомлень про помилки, які нагадують наведені нижче дії.

Помилка SPID spidnumber : 5553, серйозність: 20, стан: 6.

Внутрішня помилка сервера SQL Server : дата й час SPID Диспетчер FILESTREAM не може продовжити поточну команду.

Стан

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

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

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

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

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

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

Щоб вирішитицю проблему, у цій проблеміможна скористатися таким способом:

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

Наприклад:

Виберіть команду Retable. Alias у #T з БД. DBO. OuterTable ВНУТРІШНЯ Реєстрація дБ. DBO. Retable на Retable. Alias = OuterTable. Alias

             WHERE OuterTable. Alias > 30006 і OuterTable. Alias < 30010 

ВИДАЛЕННЯ з БД. DBO. Таблиці РОЗТАШУВАННЯ псевдоніма (SELECT * FROM #T)

Посилання

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

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

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

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