Triệu chứng
Khi bạn chạy truy vấn với bảng phân vùng trong Microsoft SQL Server 2008 R2 hoặc trong Microsoft SQL Server 2012, kết quả không chính xác sẽ trả về không liên tục. Sự cố này xảy ra nếu các điều kiện sau đây là đúng:
-
Chênh lệch kích cỡ giữa các phân vùng của bảng lớn.
-
Truy vấn sử dụng mức độ bình hành cao trong kế hoạch thực hiện truy vấn.
Lưu ý Một mức độ cao có nghĩa là tùy chọn mức độ bình phương tối đa (MAXDOP) được đặt là một số lớn hơn sáu.
Giải pháp
Thông tin Cập Nhật tích lũy
Bản Cập Nhật tích lũy 6 cho SQL Server 2012
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật tích lũy 6. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2012, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2728897 Gói Cập Nhật tích lũy 6 cho SQL Server 2012Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới 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 phát hành khắc phục SQL Server 2012 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2692828 Bản dựng SQL Server 2012 đã được phát hành sau khi SQL Server 2012 đã được phát hành
Bản Cập Nhật tích lũy 2 cho SQL Server 2012 SP1
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative Update 2. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2012 SP1, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2790947 Gói Cập Nhật tích lũy 2 cho SQL Server 2012 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới 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 phát hành khắc phục sự cố SQL Server 2012 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2772858 Bản dựng SQL Server 2012 đã được phát hành sau khi SQL Server 2012 Service Pack 1 đã được phát hành
Bản Cập Nhật tích lũy 4 cho SQL Server 2008 R2 gói dịch vụ 2 (SP2)
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative 4. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 R2 Service Pack 2, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2777358 Gói Cập Nhật tích lũy 4 cho SQL Server 2008 R2 gói dịch vụ 2Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới 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 phát hành SQL Server 2008 R2 gói dịch vụ trước đó 2. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2730301 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 2 đã được phát hành
Cách giải quyết
Để giải quyết vấn đề này, hãy chạy một truy vấn sử dụng một mức độ bình hành nhỏ hơn sáu.Lưu ý Giá trị MAXDOP tối ưu có thể khác nhau. Để đảm bảo rằng bạn loại bỏ vấn đề, hãy đặt giá trị MAXDOP thành 1.
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".