KB3143397 — ИСПРАВЛЕНИЕ: инструкция SELECT INTO с указанием TABLOCKX или указания TABLOCK и UPDLOCK завершаются сбоем в SQL Server 2014 г.

Применяется к
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблема

Предположим, что вы выполняете SQL-запрос, который использует инструкцию SELECT INTO вместе с указанием TABLOCKX или tablock и подсказкой UPDLOCK. Если значение maxdop больше 1, может появилось сообщение об ошибке, похожее на следующее:

Примечание

Ошибка: "Транзакция (идентификатор процесса 72) была взаимоблокирована при блокировке | буфер обмена ресурсами с другим процессом и был выбран в качестве жертвы взаимоблокировки. Повторно запустите транзакцию".

      

Решение

Эта проблема была сначала исправлена в следующем накопительном обновлении для SQL Server:

Накопительный пакет обновления 6 для SQL Server 2014 с пакетом обновления 1 (SP1)
      

Сведения о накопительных обновлениях для SQL Server

Сведения о накопительных обновлениях для SQL Server

Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:

Последнее накопительное обновление для SQL Server 2014 г.
      

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки

Сведения о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.