ИСПРАВЛЕНИЕ: Повреждение данных возникает в кластеризованном индексе при выполнении перестроения индекса в сети в SQL Server 2012 или SQL Server 2014

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

Проблема

Перестройка индекса в сети может привести к повреждению индекса или потере данных при его использовании вместе с одновременными запросами, изменяющими множество строк в Microsoft SQL Server 2012 или Microsoft SQL Server 2014. Например, репликация обновляет множество строк в таблице при одновременном выполнении сборки индекса в сети в той же таблице.

Эта проблема возникает при выполнении следующих условий:

  • Сетевой запрос на построение индекса выполняется в параллельном режиме.
  • Ошибка взаимоблокировки и неустранимая ошибка, например "время ожидания блокировки", происходят в определенном порядке.

Примечание. Чтобы обойти эту проблему, запустите сетевую сборку индекса в последовательном режиме (DOP = 1).

Решение

Сведения о накопительном пакете обновления

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

Накопительный пакет обновления 11 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2975396

Накопительный пакет обновления 1 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/2976982

Накопительный пакет обновления 2 для SQL Server 2014 г. /en-us/help/2967546

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

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

      

Сведения об исправлении для SQL Server 2012 Поддерживаемое исправление доступно от корпорации Майкрософт. Однако это исправление предназначено только для устранения проблемы, описанной в этой статье. Примените это исправление только к системам, в которых возникает эта конкретная проблема.

Если исправление доступно для скачивания, в верхней части этой статьи базы знаний отобразится раздел "Доступно скачивание исправления". Если этот раздел не отображается, отправьте запрос в службу поддержки пользователей Майкрософт, чтобы получить исправление.

Примечание Если возникнут дополнительные проблемы или потребуется их устранение, может потребоваться создать отдельный запрос на обслуживание. Обычные расходы на поддержку будут применяться для решения дополнительных вопросов поддержки и проблем, не подпадающих под это исправление. Полный список телефонных номеров службы поддержки и обслуживания клиентов Майкрософт или создание отдельного запроса на обслуживание см. на следующем веб-сайте Майкрософт:

/contactus/?ws=support Примечание. В форме "Доступно скачивание исправления" указаны языки, для которых доступно исправление. Если вы не видите свой язык, это означает, что для него недоступно исправление.

Примечание. После применения исправления расширенный progress_report_online_index_operation событий будет дополнительно включать сведения об ошибке в поле данных error_number, добавленное к событию. Это поле можно использовать для определения внутренних сбоев во время операции оперативного индексирования.

Требование перезапускаПосле применения этого исправления перезапускать компьютер не требуется.

Сведения о заменяемых исправленияхЭто исправление не заменяет ранее выпущенное исправление.

Состояние

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