Проблемы
Предположим, что вы установили первоначальное выпущенное и устаревшее накопительное обновление 6 для SQL Server 2014 с пакетом обновления 1 (SP1) (сборка с номером 12.0.4449.0, KB 3144524), и что вы используете шаблоны рабочей нагрузки, включающие параллельную команду SELECT(...) . При использовании NOLOCKна уровне изоляции SQL Server, заданном по умолчанию или более высоком уровне. В этом случае могут возникать запросы, блокирующие или взаимоблокировки. Ниже указаны шаблоны, которые предоставляются в этой блокирующей ситуации.
-
Выполнение параллелизации с параллелизмом SELECT (...) В таблицу из инструкции SourceTable и, в частности, с помощью подсказки NOLOCK, на уровне изоляции SQL Server, используемом по умолчанию, или более высоком. В этом случае другие запросы, пытающиеся получить доступ к SourceTable, будут заблокированы.
-
Несмотря на то, что одна транзакция удерживает монопольную блокировку объекта (например, обновляемая таблица), другая транзакция выполняет параллельную команду SELECT (...). ИЗ SourceTable с помощью подсказки NOLOCK. В этом сценарии запрос на ВЫБОРку, который пытается получить доступ к SourceTable, будет заблокирован.
Чтобы найти текущую установленную версию SQL Server, ознакомьтесь с определением версии, выпуска и уровня обновления SQL Server и его компонентов.
Решение
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server:
Накопительное обновление 6 для SQL Server 2014 с пакетом обновления 1 (SP1)
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.