KB3196012 - 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 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 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)

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

Cumulative Update 10 for SQL Server 2014 SP1
        
        Cumulative update 3 for SQL Server 2014 SP2

About cumulative updates for SQL Server

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Latest cumulative update for SQL Server 2016

Latest cumulative update for SQL Server 2014 SP1/SP2

    Latest cumulative update for SQL Server 2012

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.