KB3172671 - 修正:在 SQL Server 2016 中,如果 UTF-8 編碼檔案沒有 BOM,BULK INSERT 或 OPENROWSET 會匯入錯誤的資料

套用到
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)

症狀

假設您在 Microsoft SQL Server 2016 中,使用 BULK INSERT 或 OPENROWSET (BULK...) 陳述式,從沒有位元組順序標記 (BOM) 的檔案匯入 UTF-8 編碼資料。 如果檔案中的前兩個位元組等於 “0xEFBB”,則第一個字元會被錯誤地辨識為 BOM。 因此,匯入的資料不正確,而且您不會收到有關該資料的錯誤訊息。

解決方式

此問題已先在下列 SQL Server 累積更新中修正:

建議:安裝最新的 SQL Server 累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 我們建議您下載並安裝 SQL Server 的最新累積更新:

      

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語。