应用对象
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)

症状

假设你在 Microsoft SQL Server 2012、2014或2016中的列上创建了一个主键,其中包含大的十进制值或数字值。 然后,使用此列作为唯一键索引来创建全文索引。 在这种情况下,如果有一些行无法进行索引,则全文键值将记录为负数或 unicode 字符。 因此,您无法识别无法编制索引的行。

解决方案

在 SQL Server 的以下累积更新中修复了此问题:

    SQL Server 2016 SP1 的累积更新2

    Sql server 2016 累积更新 4针对 Sql Server 2012 Service Pack 3)累积更新 6     

Sql server 2014 SP1 累积更新 10适用于 SQL server 2014 SP2)累积更新 3

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

    SQL Server 2016 的最新累计更新

    Sql server 2014 SP1/SP2 的最新累积更新sql server 2012 的最新累积更新     

解决方法

若要解决此问题,请将唯一的 bigint 或 int 列添加到表中,然后使用该列指定全文。 当报告失败的行或文档时, Int和bigint将它们的值正确地报告给全文错误日志。 全文使用的唯一列不必是表的主键。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。