Проблемы
Рассмотрим следующий сценарий.
-
Вы выполняете запрос в Microsoft SQL Server 2016 и 2017.
-
Итоговый план запроса состоит из ветви пакетного режима и ветви режима строки, участвующей в СОЕДИНЕНии.
-
В ветви режима строки есть параллельные и последовательные операторы.
В этом сценарии может возникнуть условие взаимоблокировки.
Примечание. Эта проблема не возникает, если установить для запроса максимальную степень параллелизма (MAXDOP) в 1 .
Решение
Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.
Накопительное обновление 4 для SQL Server 2017
Накопительное обновление 7 для SQL Server 2016 с пакетом обновления 1 (SP1)
Примечание. Чтобы устранить эту проблему, необходимо включить флаг трассировки исправлений оптимизатора запросов (TF) 4199.
Дополнительные сведения об исправлениях оптимизатора запросов и флагах трассировки можно найти в следующих статьях:
Исправление для оптимизатора запросов SQL Server TF 4199 модель обслуживания
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.