FIX: Incorrect full-text keys are recorded for the rows that aren't indexed correctly by a full-text index in SQL Server

Applies to: SQL Server 2012 DeveloperSQL Server 2012 EnterpriseSQL Server 2012 Enterprise Core

Symptoms


Assume that you create a primary key on a column which includes large decimal values or numeric values in Microsoft SQL Server 2012, 2014 or 2016. Then, you create a full-text index by using this column as the unique key index. In this situation, if there are some rows that are failed to be indexed, the full-text key value will be record as a negative number or unicode characters. Therefore, you can't identify the rows which are failed to be indexed.

Resolution


This issue is fixed in the following cumulative updates for SQL Server:

    Cumulative Update 2 for SQL Server 2016 SP1

    Cumulative Update 4 for SQL Server 2016

    Cumulative Update 6 for SQL Server 2012 Service Pack 3

 

Workaround


To work around this issue, add a unique bigint or int column to the table and specify full-text by using that column instead. Int and bigint correctly report their values to the full-text error log when a failed row or document is reported. The unique column used by full-text doesn't have to be the primary key of the table.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Learn about the terminology  that Microsoft uses to describe software updates.