KB3077273 - KHẮC PHỤC: Hiếm gặp xuất hiện kết quả sai khi bạn chạy truy vấn song song trong SQL Server 2012 hoặc SQL Server 2014

Áp dụng cho
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Triệu chứng

Giả sử bạn có chỉ mục kho cột không liên cụm trong Microsoft SQL Server 2012 hoặc SQL Server 2014. Bạn chạy một truy vấn trong chế độ song song để sử dụng tính năng kho cột, rồi truy vấn ghép nối chỉ mục trên nhiều cột nối với kết quả bên thăm dò được tính toán trong biểu thức phức tạp. Trong tình huống này, có thể xảy ra một tập kết quả không chính xác.

Nguyên nhân

Khi các biểu thức được tối ưu hóa ở phía thăm dò của kết nối băm, SQL Server sẽ giả định một thứ tự cụ thể trong các cột kết hợp hàm băm. Thứ tự này có thể bị hỏng trong khi tối ưu hóa truy vấn và có thể gây ra kết nối băm không khớp.

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:

      

Giải pháp thay thế

Để khắc phục sự cố này, hãy sử dụng một trong các phương pháp sau:

  • Dùng gợi ý truy vấn MAXDOP=1 khi bạn thực thi truy vấn.
  • Nâng cấp lên SQL Server 2014.

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".