KB3172671 - ИСПРАВЛЕНО: BULK INSERT или OPENROWSET импортируют неправильные данные, если файл в кодировке UTF-8 не имеет BOM в SQL Server 2016

Применяется к
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)

Проблема

Предположим, что вы используете оператор BULK INSERT или OPENROWSET(BULK...) для импорта данных в кодировке UTF-8 из файла, который не имеет метки порядка байтов (BOM) в Microsoft SQL Server 2016. Если первые два байта в файле равны "0xEFBB", первый символ будет ошибочно распознан как BOM. В результате импортированные данные неверны, и вы не получаете сообщение об ошибке.

Решение

Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server:

Рекомендация. Установите последний накопительный пакет обновления для SQL Server

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Рекомендуется скачать и установить последние накопительные пакеты обновления для SQL Server:

      

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки

Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.