Проблема
Рассмотрим следующий сценарий.
- Вы включаете отслеживание изменений для таблицы базы данных SQL Server в Microsoft SQL Server 2012 или SQL Server 2014.
- В базовой таблице очень мало строк данных. Например, таблица содержит одну строку.
- Боковая таблица отслеживания изменений (внутренняя системная таблица) содержит приблизительно 1000 строк данных.
- Системная таблица syscommittab содержит множество строк. Например, в таблице содержится 1,5 миллиона строк.
В этом сценарии при запуске запроса, чтобы определить, какие изменения были внесены с помощью функции CHANGETABLE, SQL Server может использовать план, использующий агрегатное выражение хэш-сопоставления вместо сортировки. Поэтому SQL Server возвращает неверные сведения об изменениях.
Решение
Сведения об обновлении
Эта проблема была впервые исправлена в следующем накопительном пакете обновления для SQL Server:
- Накопительный пакет обновления 13 для SQL Server 2014
- Накопительный пакет обновления 6 для SQL Server 2014 с пакетом обновления 1 (SP1)
- Накопительный пакет обновления 1 для SQL Server 2012 с пакетом обновления 3 (SP3)
Рекомендация. Установите последний накопительный пакет обновления для SQL Server
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и все исправления безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:
- Последний накопительный пакет обновления для SQL Server 2014
- Последний накопительный пакет обновления для SQL Server 2014 с пакетом обновления 1 (SP1)
- Последний накопительный пакет обновления для SQL Server 2012 с пакетом обновления 3 (SP3)
Примечание Сведения о последних сборках SQL Server см. в разделе: Где найти информацию о последних сборках SQL Server.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.