KB3030352 — ИСПРАВЛЕНИЕ. Таблица изменений неправильно упорядочивается для обновленных строк после включения отслеживания измененных данных для базы данных Microsoft SQL Server

Применяется к
SQL Server 2008 Enterprise 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 Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2012, 2014 или 2016 в виде одного скачиваемого файла. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений SQL Server 2012, 2014, 2016.

Проблема

После включения отслеживания измененных данных для базы данных Microsoft SQL Server 2012, 2014 или 2016 столбец __$operation в таблице изменений может быть упорядочен неправильно для обновленных строк. При обновлении строки в таблице изменений есть две строки с удалением и вставкой для операции __$. Но операция вставки может неожиданно появиться перед операцией удаления. Если приложение повторно применяет строки к другой таблице с ограничением первичного ключа, может возникнуть следующее нарушение первичного ключа:

Примечание

Msg 2627, Level 14, State 1, Line 6Violation of PRIMARY KEY constraint 'Primary_Key_name'. Не удается вставить повторяющийся ключ в объект "table_name". Повторяющееся значение ключа — (value).

      

Решение

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

Рекомендация. Установите последние накопительные обновления для SQL Server

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

Состояние

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

Ссылки

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