Ознаки
Припустімо, що є сеанс, для пріоритету взаємоблокування якого встановлено значення, більше за -10 (використовуючи синтаксис SET DEADLOCK_PRIORITY HIGH | НОРМАЛЬНИЙ | LOW або за допомогою цілого числа, більшого за -10). Коли сеанс виконує інструкцію ALTER PARTITION FUNCTION , ПРІОРИТЕТ ВЗАЄМОБЛОКУВАННЯ СЕАНСУ ТИМЧАСОВО ВСТАНОВЛЮЄТЬСЯ НА -10 під час процесу, і сеанс завжди вибирається як жертва взаємоблокування. Значення, визначене користувачем, не виконується.
Примітки
- Оскільки мнемоніка пріоритету взаємоблокування "HIGH/NORMAL/LOW" зіставлена з відповідними цілими значеннями "5 / 0 / -5", встановлення пріоритету зависання для інших сеансів на LOW не допоможе. Докладні відомості про пріоритети взаємоблокування та їхні числові значення див. в статті SET DEADLOCK_PRIORITY (Transact-SQL).
- Після інсталяції цього виправлення, щоб дозволити оператору ALTER PARTITION FUNCTION враховувати пріоритет тупикового блокування поточного сеансу, використовуйте позначку трасування 1237.
Спосіб усунення проблеми
Цю проблему вирішено в такому сукупному оновленні для SQL Server:
Сукупний пакет оновлень 3 для SQL ServerSQL Server 2016 SP1
Відомості про сукупні оновлення для SQL ServerSQL Server :
Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Перегляньте останні сукупні оновлення для SQL Server.
Останнє сукупне оновлення для SQL ServerSQL Server 2016
Стан
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".
Посилання
Дізнайтеся, за допомогою яких термінів корпорація Майкрософт описує оновлення програмного забезпечення.