症状
假设你在 Microsoft SQL Server 2012、2014或2016中的列上创建了一个主键,其中包含大的十进制值或数字值。 然后,使用此列作为唯一键索引来创建全文索引。 在这种情况下,如果有一些行无法进行索引,则全文键值将记录为负数或 unicode 字符。 因此,您无法识别无法编制索引的行。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
Sql server 2016 累积更新 4(针对 Sql Server 2012 Service Pack 3)累积更新 6
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
Sql server 2014 SP1/SP2 的最新累积更新sql server 2012 的最新累积更新
解决方法
若要解决此问题,请将唯一的 bigint 或 int 列添加到表中,然后使用该列指定全文。 当报告失败的行或文档时, Int和bigint将它们的值正确地报告给全文错误日志。 全文使用的唯一列不必是表的主键。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语。