KB3172671 - CORRECTIF : BULK INSERT ou OPENROWSET importez des données incorrectes si le fichier encodé en UTF-8 n’a pas de nomenclature dans SQL Server 2016

S’applique à
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 utilisez l’instruction BULK INSERT ou OPENROWSET(BULK...) pour importer des données encodées en UTF-8 à partir d’un fichier qui n’a pas de marque d’ordre d’octet (BOM) dans Microsoft SQL Server 2016. Si les deux premiers octets du fichier sont égaux à « 0xEFBB », le premier caractère est reconnu à tort comme une marque d’ordre. Par conséquent, les données importées sont incorrectes et vous ne recevez pas de message d’erreur à leur sujet.

Résolution

Le problème a été résolu pour la première fois dans la mise à jour cumulative suivante de SQL Server :

Recommandation : Installer la dernière mise à jour cumulative 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. Nous vous recommandons de télécharger et d’installer les dernières mises à jour cumulatives pour SQL Server :

      

É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.