Triệu chứng
Giả định rằng bạn thực hiện một câu lệnh có chứa một toán tử giống như với trình chiếu Japanese_XJIS_100_CI_AS trong Microsoft SQL Server 2008 R2, SQL Server 2012 hoặc SQL Server 2014. Có một ký tự lặp lại tiếng Nhật ' ー ' (cho đến) trong mẫu như vậy. Khi bạn thực thi câu lệnh, mẫu tương xứng như mẫu có thể được coi là phù hợp. Ví dụ, N'BA ー1 ' không khớp N '% AB1 ', khi bạn thực hiện câu lệnh sau:
if (N'BAー1' like N'%AB1%' Collate Japanese_XJIS_100_CI_AS)print 'Japanese_XJIS_100_CI_AS : BAー1 like %AB1% --> match'
Kết quả đã khớp.
Nguyên nhân
Sự cố xảy ra vì Char lặp lại tiếng Nhật được xử lý không đúng.
Giải pháp
Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Bản Cập Nhật tích lũy 2 cho SQL Server 2012 SP2 /en-us/help/2983175
Bản Cập Nhật tích lũy 12 cho SQL Server 2012 SP1 /en-us/help/2991533
Bản Cập Nhật tích lũy 3 cho SQL Server 2014 /en-us/help/2984923
Bản Cập Nhật tích lũy 13 cho SQL Server 2008 R2 SP2 /en-us/help/2967540
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra 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 đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".