Triệu chứng
Giả định rằng bạn có một bảng có chứa các chỉ mục không phải duy nhất trong Microsoft SQL Server 2012 hoặc SQL Server 2014. Khi bạn chạy truy vấn để cập nhật bảng bằng cách sử dụng chỉ mục bitmap có chứa một khóa phân vùng, bạn nhận được thông báo lỗi sau đây:
Msg 2601, mức 14, trạng thái 1, dòng 1Không thể chèn hàng khóa trùng lặp trong <tên bảng đối tượng> với tên chỉ mục <chỉ mục duy nhất>. Giá trị phím trùng lặp là (0, <giá trị>).
Lưu ý Chỉ mục không phải là chỉ mục duy nhất và cho phép trùng lặp.
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 4 cho SQL Server 2014 /en-us/help/2999197
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 11 cho SQL Server 2012 SP1 /en-us/help/2975396
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:
Cách giải quyết
Để giải quyết vấn đề này, hãy bật theo dõi gắn cờ 8690 để tắt thao tác spool . Tuy nhiên, giải pháp thay thế này có thể gây ra một hồi quy hiệu suất vì spool bị vô hiệu hóa.
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".