Ознаки
Припустимо, що у вас є таблиця з великою кількістю рядків і повнотекстового індексу в Microsoft SQL Server 2014. Під час спроби видалити багато рядків із таблиці в одному транзазі блокування схеми відбувається в частині вилучення рядків із повнотекстового індексу, а всі інші запити на маніпуляції блокуються операцією видалення.
Причина
Ця проблема виникає тому, що під час видалення кількох рядків із дуже великої таблиці з повнотекстовим індексом, процес видалення в повнотекстовому індексі виконується в вкладеній транзакції. Видалення для повнотекстового індексу може тривати довше, навіть якщо видалення буде швидко завершено для рядків у базовій таблиці. Після завершення роботи видалення в повнотекстовому індексі буде видалено всі дії з вимкнутим або переперезавантажено сервером. Це також призводить до занадто великого блокування на основі базової таблиці та багатьох блокувань транзакцій.
Спосіб вирішення
Ця проблема була спочатку зафіксоване в цьому сукупному оновленні сервера SQL Server.
Сукупне оновлення 4 для SQL Server 2014 /en-us/help/2999197
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".