KB3196012 – CORRECTIF : Des clés de texte intégral incorrectes sont enregistrées pour les lignes qui ne sont pas indexées correctement par un index de recherche en texte intégral dans SQL Server

S’applique à
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)

Symptômes

Supposons que vous créez une clé primaire sur une colonne qui inclut des valeurs décimales volumineuses ou des valeurs numériques dans Microsoft SQL Server 2012, 2014 ou 2016. Ensuite, vous créez un index de recherche en texte intégral en utilisant cette colonne comme index clé unique. Dans ce cas, si certaines lignes ne peuvent pas être indexées, la valeur de la clé de recherche en texte intégral est enregistrée sous forme de nombre négatif ou de caractères Unicode. Par conséquent, vous ne pouvez pas identifier les lignes dont l’indexation n’a pas pu être effectuée.

Résolution

Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :

Mise à jour cumulative 2 pour SQL Server 2016 SP1

Mise à jour cumulative 4 pour SQL Server 2016

     Mise à jour cumulative 6 pour SQL Server 2012 Service Pack 3

Mise à jour cumulative 10 pour SQL Server 2014 SP1
        
         Mise à jour cumulative 3 pour SQL Server 2014 SP2

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Dernière mise à jour cumulative pour SQL Server 2016

Dernière mise à jour cumulative pour SQL Server 2014 SP1/SP2

     Dernière mise à jour cumulative pour SQL Server 2012

Solution de contournement

Pour contourner ce problème, ajoutez une colonne bigint ou int unique à la table et spécifiez le texte intégral à l’aide de cette colonne à la place. int et bigint signalent correctement leurs valeurs dans le journal des erreurs de texte intégral lorsqu’une ligne ou un document ayant échoué est signalé. La colonne unique utilisée par le texte intégral ne doit pas nécessairement être la clé primaire de la table.

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.