KB3172671 - KHẮC PHỤC: NHẬP HÀNG LOẠT INSERT hoặc OPENROWSET nhập sai dữ liệu nếu tệp mã hóa UTF-8 không có BOM trong SQL Server 2016

Áp dụng cho
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)

Triệu chứng

Giả sử bạn sử dụng câu lệnh BULK INSERT hoặc OPENROWSET(BULK...) để nhập dữ liệu được mã hóa UTF-8 từ tệp không có dấu thứ tự byte (BOM) trong Microsoft SQL Server 2016. Nếu hai byte đầu tiên trong tệp bằng "0xEFBB", ký tự đầu tiên sẽ được nhận diện nhầm là BOM. Kết quả là dữ liệu đã nhập không chính xác và bạn không nhận được thông báo lỗi về dữ liệu đó.

Giải pháp

Sự cố này đã được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server:

Đề xuất: Cài đặt bản cập nhật tích lũy mới nhất cho SQL Server

Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt các bản cập nhật tích lũy mới nhất cho SQL Server:

      

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".

Tham khảo

Tìm hiểu về thuật ngữ mà Microsoft dùng để mô tả các bản cập nhật phần mềm.