SQL Server transforme-t-il le text de quelque manière que ce soit lors de l'exécution d'un INSULME EN VRAC?

J'essaie d'utiliser une instruction BULK INSERT pour remplir une grande table (17 millions de lignes) dans SQL Server à partir d'un file text. Une colonne, de type nchar (17) a une contrainte UNIQUE dessus. J'ai vérifié (en utilisant du code Python) que le file ne contient pas de duplicates, mais lorsque j'exécute la requête, je reçois ce message d'erreur de SQL Server:

Impossible d'insert une ligne de key en double dans l'object 'dbo.tbl_Name' avec l'index unique 'IX_tbl_Name'.

Le server pourrait-il transformer le text d'une manière ou d'une autre alors qu'il exécute BULK INSERT? Les bases de données SQL Server interdisent-elles les signes de ponctuation dans les colonnes nchar, ou exigent-elles l'échappement? Est-il possible de find quelle ligne cause le problème? Dois-je passer à une autre méthode pour insert datatables?

Vos parameters de classment sur la colonne peuvent entraîner une duplication des données, alors que votre code peut le voir comme unique. Des choses comme les accents et les majuscules peuvent causer des problèmes dans certains parameters de classment.

Une autre pensée serait aussi que les valeurs vides ou nul countnt comme des duplicates, donc votre code Python n'a peut-être pas trouvé de duplicates, mais qu'en est-il des vides?