Проблемы
Предположим, что у вас есть сеанс, приоритет которого имеет значение больше-10 (с использованием синтаксиса, заданного DEADLOCK_PRIORITY High | ОБЫЧНЫЙ | НИЗКИЙили с помощью целочисленного значения больше 10. Когда сеанс выполняет инструкцию ALTER PARTITION FUNCTION , приоритету для сеанса временно присвоено значение -10 во время процесса, и сеанс всегда выбирается в качестве жертвы взаимоблокировки. Определяемое пользователем значение не соблюдается.
Примечания.
-
Поскольку назначение приоритета взаимоблокировки для карты "высокая/НОРМАЛЬная/минимальная" соответствует их соответствующим целочисленным значениям "5/0/ -5", установка приоритета взаимоблокировки для других сеансов не поможет вам. Дополнительные сведения о приоритетах взаимоблокировок и их числовых значениях можно найти в разделе SET DEADLOCK_PRIORITY (Transact-SQL).
-
После установки этого исправления для того, чтобы разрешить инструкции ALTER PARTITION FUNCTION обрабатывать текущий пользовательский приоритет блокировки сеанса, используйте флаг трассировки 1237.
Решение
Эта проблема устранена в следующем накопительном обновлении SQL Server:
Накопительное обновление 3 для SQL Server 2016 с пакетом обновления 1 (SP1)
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server. Последнее накопительное обновление для SQL server 2016
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.