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

Applies to: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core


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.


The issue was first fixed in the following cumulative update of SQL Server:


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.


Learn about the terminology that Microsoft uses to describe software updates.