Проблемы
Предположим, что вы создали первичный ключ для столбца, который содержит большие десятичные значения или числовые значения в Microsoft SQL Server 2012, 2014 или 2016. Затем вы создаете полнотекстовый индекс, используя этот столбец в качестве уникального индекса ключа. В этом случае, если есть строки, которые не удалось индексировать, значение полнотекстового ключа будет записано в виде отрицательного числа или символов Юникода. Таким образом, невозможно определить строки, которые не удалось индексировать.
Решение
Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.
Накопительное обновление 2 для SQL Server 2016 с пакетом обновления 1 (SP1)
Накопительное обновление 4 для SQL server 2016, накопительное обновление 6 для SQL Server 2012 с пакетом обновления 3 (SP3)
Накопительное обновление 10 для SQL server 2014 с пакетом обновления 1 (SP1), накопительное обновление 3 для SQL Server 2014 SP2
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Последнее накопительное обновление для SQL Server 2016
Последнее накопительное обновление для SQL server 2014 SP1/SP2последнего накопительного обновления для SQL Server 2012
Обходное решение
Чтобы устранить эту ошибку, добавьте в таблицу уникальный столбец bigint или int и укажите для него полнотекстовый столбец, используя вместо него полный текст. При составлении ошибочной строки или документа в журнале ошибок значения int и bigint должны быть указаны правильно. Уникальный столбец, используемый полнотекстовым функцией Full-Text, не должен быть первичным ключом таблицы.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.