Triệu chứng
Giả sử bạn chạy một truy vấn có chứa toán tử UNION bằng cách sử dụng kế hoạch truy vấn song song trong Microsoft SQL Server 2008 R2, SQL Server 2012 hoặc SQL Server 2014. Toán tử tổng hợp dòng có thể tạo ra các hàng trùng lặp khi các điều kiện sau là đúng:
- Truy vấn sử dụng một hằng số hoặc một cột có giá trị cố định (ví dụ, được ẩn từ một vị từ như cột = <hằng số> khi cột được chọn).
- SQL Server sử dụng kế hoạch thực thi truy vấn song song bao gồm toán tử tổng hợp dòng tổng hợp dựa trên giá trị hằng số hoặc cố định (toán tử tổng hợp dòng này có thể được giới thiệu trong các truy vấn có chứa toán tử UNION để tạo ra đầu ra riêng biệt).
Giải pháp
SQL Server 2012
Đối với SQL Server 2012, để giải quyết sự cố này, hãy áp dụng SQL Server 2012 Gói Dịch vụ 2. Để biết thêm thông tin về các lỗi được sửa trong SQL Server 2012 SP2, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2958429 Các lỗi được sửa trong SQL Server 2012 Gói Dịch vụ 2
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.
Bản cập nhật tích lũy 13 cho SQL Server 2008 R2 SP2 /en-us/help/2967540
Cập nhật Tích lũy 2 cho SQL Server 2014 /en-us/help/2967546
Cập nhật tích lũy 10 cho SQL Server 2012 SP1 /en-us/help/2954099
Giới thiệu về các bản cập nhật tích lũy 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 đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:
- Bản cập nhật tích lũy mới nhất cho SQL Server 2008 R2 SP2
- Bản cập nhật tích lũy mới nhất cho SQL Server 2014
- Bản cập nhật tích lũy mới nhất cho SQL Server 2012 SP1
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".