症状
假设在 Microsoft SQL Server 2012、2014 或 2016 中在包含较长十进制值或数值的列上创建了主键。 然后,使用此列作为唯一键索引来创建全文索引。 在这种情况下,如果某些行未能编制索引,则全文键值将记录为负数或 Unicode 字符。 因此,无法识别无法编制索引的行。
解决方法
此问题已在 SQL Server 的以下累积更新中修复:
SQL Server 2012 Service Pack 3 累积更新 6
SQL Server 2014 SP1 累积更新 10
SQL Server 2014 SP2 累积更新 3
关于 SQL Server 的累积更新
SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
SQL Server 2014 SP1/SP2 的最新累计更新
解决方法
若要解决此问题,请向表中添加唯一的 bigint 或 int 列,并改用该列指定全文。 报告失败的行或文档时,Int 和 bigint 会将其值正确地报告到全文错误日志。 全文使用的唯一列不必是表的主键。
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
参考资料
了解 Microsoft 用于描述软件更新的术语。