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

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: Jul 25, 2016 - Revision: 1

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

Feedback