FIX: BULK INSERT or OPENROWSET import wrong data if UTF-8 encoded file does not have a BOM in SQL Server 2016

Symptoms
Assume that you use the BULK INSERT or the OPENROWSET(BULK...) statement to import UTF-8 encoded data from a file that doesn't have a byte-order mark (BOM) in Microsoft SQL Server 2016. If the first two bytes in the file are equal to "0xEFBB", the first character will be wrongly recognized as a BOM. As a result, the imported data is incorrect, and you don't receive an error message about it.

Resolution
The issue was first fixed in the following cumulative update of SQL Server: Recommendation: Install the latest cumulative update for SQL Server
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. We recommend that you download and install the latest cumulative updates for SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
Learn about the terminology that Microsoft uses to describe software updates.
Properties

Article ID: 3172671 - Last Review: 07/25/2016 23:56:00 - Revision: 1.0

Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced KB3172671
Feedback