KB4014327 - ИСПРАВЛЕНО: нарушение прав доступа в SQL Server 2014 при вставке большого количества строк в секционированный индекс columnstore

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

Проблема

Предположим, что у вас есть секционированная таблица с кластеризованным индексом columnstore (CCI), созданным на ее основе в Microsoft SQL Server 2014. При попытке вставить строки в таблицу с помощью операции массовой вставки (например, INSERT INTO... SELECT FROM...), SQL Server может выдать ошибку нарушения доступа (AV), если к таблице применяются следующие условия:

  • В таблице есть ПРОВЕРОЧНОЕ ОГРАНИЧЕНИЕ на второй столбец и более поздние столбцы.

  • Вы удаляете из таблицы один или несколько столбцов, предшествующих столбцу с ограничением CHECK, создавая таким образом промежутки в порядковых номерах столбцов.

  • Затем вы массово вставляете данные во второй или последующий раздел (но не в первый), который был:

    • Реорганизация с помощью ALTER INDEX ... REBUILD PARTITION = <номер вашего раздела, второй или более поздний>.
    • Переключается для сценического стола с помощью ALTER TABLE ... ПЕРЕКЛЮЧИТЬСЯ НА... PARTITION <Ваш номер раздела (второй или больше>).

В этом случае может появиться сообщение об ошибке, подобное приведенному ниже. В папке журнала ошибок SQL Server автоматически будет создан файл дампа антивирусного ПО.

Примечание

Сообщение об ошибке:
MSG 596, уровень 21, состояние 1, номер строки
Невозможно продолжить выполнение, так как сеанс находится в состоянии "Убито".
MSG 0, уровень 20, состояние 0, номер строки
Возникла серьезная ошибка текущей команды. Результаты, если таковые имеются, должны быть отброшены.

Решение

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

Накопительный пакет обновления 5 для SQL Server 2014 SP2

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

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

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

Состояние

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

Ссылки

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