Microsoft phân phối Microsoft SQL Server 2008 hoặc các bản sửa lỗi Microsoft SQL Server 2008 R2 là một tệp được tải xuống. Vì bản sửa lỗi được tích lũy, mỗi bản phát hành 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 hoặc SQL Server 2008 R2.

Triệu chứng

Khi bạn chạy truy vấn Cập Nhật phức tạp, sử dụng toán tử gia nhập trong một kế hoạch thực hiện trong Microsoft sql server 2008 hoặc trong Microsoft sql server 2008 R2, bạn có thể nhận được kết quả không chính xác. Lưu ý Truy vấn Cập Nhật có thể chứa các truy vấn phụ, hàm tổng hợp và mệnh đề riêng biệt . Nếu bạn chạy cùng một truy vấn trong Microsoft SQL Server 2008 hoặc trong kho dữ liệu song song của Microsoft SQL Server 2008 R2, bạn có thể nhận được một bộ kết quả không chính xác khác. Ví dụ, bạn có thể nhận được kết quả không chính xác khi bạn chạy mã sau đây:

UPDATE RB SET rb1 = (SELECT AVG(DISTINCT T2_1.C1) AS C1 FROM (SELECT DISTINCT T3_1.C3 AS C1, T3_1.C5 AS C2 FROM (SELECT T5_1.c2 AS C1, T5_1.c2 AS C2, T5_1.c3 AS C3, T5_1.c3 AS C4, T5_1.c2 AS C5 FROM DC AS T5_1 UNION SELECT T5_1.c2 AS C1, T5_1.c3 AS C2, T5_1.c2 AS C3, T5_1.c2 AS C4, T5_1.c3 AS C5 FROM DC AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C1 = rb3)), rb2 = (SELECT COUNT_BIG(DISTINCT T2_1.C1) AS C1 FROM (SELECT DISTINCT T3_1.C1 AS C1 FROM (SELECT T5_1.rc2 AS C1 FROM RC AS T5_1 UNION ALL SELECT T5_1.c3 AS C1 FROM DC AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C1 > rb1)), rb3 = (SELECT COUNT_BIG(*) AS C1 FROM (SELECT DISTINCT T3_1.C1 AS C1, T3_1.C2 AS C2, T3_1.C3 AS C3, T3_1.C4 AS C4, T3_1.C5 AS C5, T3_1.C6 AS C6, T3_1.C7 AS C7, T3_1.C8 AS C8, T3_1.C9 AS C9, T3_1.C10 AS C10 FROM (SELECT T5_1.b2 AS C1, T5_1.b1 AS C2, T5_1.b3 AS C3, T5_1.b2 AS C4, T5_1.b2 AS C5, T5_1.b2 AS C6, T5_1.b2 AS C7, T5_1.b1 AS C8, T5_1.b2 AS C9, T5_1.b3 AS C10 FROM DB AS T5_1 UNION SELECT T5_1.ra3 AS C1, T5_1.ra3 AS C2, T5_1.ra3 AS C3, T5_1.ra3 AS C4, T5_1.ra2 AS C5, T5_1.ra3 AS C6, T5_1.ra1 AS C7, T5_1.ra1 AS C8, T5_1.ra1 AS C9, T5_1.ra1 AS C10 FROM RA AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C2 <= rb3)) WHERE rb1 IN (SELECT T2_1.C1 AS C1 FROM (SELECT T4_1.a2 AS C1, T4_1.a1 AS C2, T4_1.a1 AS C3, T4_1.a2 AS C4, T4_1.a1 AS C5, T4_1.a2 AS C6, T4_1.a3 AS C7, T4_1.a1 AS C8 FROM DA AS T4_1 WHERE (T4_1.a1 > (SELECT MIN(DISTINCT T5_1.b3) AS C1 FROM DB AS T5_1 WHERE (T5_1.b3 <= T4_1.a1))) UNION ALL SELECT T4_1.a2 AS C1, T4_1.a2 AS C2, T4_1.a1 AS C3, T4_1.a1 AS C4, T4_1.a1 AS C5, T4_1.a1 AS C6, T4_1.a1 AS C7, T4_1.a3 AS C8 FROM DA AS T4_1) AS T2_1);

Nguyên nhân

Sự cố này xảy ra do lỗi trong trình tối ưu truy vấn SQL Server.

Giải pháp

Thông tin Cập Nhật tích lũy

Gói dịch vụ SQL Server 2008 2

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 6 cho SQL Server 2008 Service Pack 2. Để biết thêm thông tin về gói Cập Nhật lũy tích này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

2582285 Gói Cập Nhật tích lũy 6 cho SQL Server 2008 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 khắc phục SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc việc áp dụng bản phát hành khắc phục gần đây nhất có chứa các 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:

2402659 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 2 đã được phát hành Các hotfix Microsoft SQL Server 2008 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng SQL Server 2008 gói dịch vụ 2 để cài đặt gói dịch vụ SQL Server 2008 2. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.

SQL Server 2008 R2

Khắc phục 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 9. Để 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, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:

2567713 Gói Cập Nhật tích lũy 9 cho SQL Server 2008 R2 Lư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 2008 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:

981356 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 được phát hành

Gói dịch vụ SQL Server 2008 R2 1

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 2 cho SQL Server 2008 R2 Service Pack 1. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

2567714 Gói Cập Nhật tích lũy 2 cho SQL Server 2008 R2 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 SQL Server 2008 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:

2567616 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành

Gói dịch vụ SQL Server 2008 1

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 15 cho SQL Server 2008 Service Pack 1. Để biết thêm thông tin về gói Cập Nhật lũy tích này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

2555406 Gói Cập Nhật tích lũy 15 cho SQL Server 2008 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 SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc việc áp dụng bản phát hành khắc phục gần đây nhất có chứa các 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:

970365 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 1 đã được phát hành Các hotfix Microsoft SQL Server 2008 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng một hotfix của SQL Server 2008 gói dịch vụ 1 vào một bản cài đặt của SQL Server 2008 Service Pack 1. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.

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

Tham khảo

Để biết thêm thông tin về kho dữ liệu song song, hãy truy cập trang web Microsoft sau đây:

Thông tin chung về kho dữ liệu song songĐể biết thêm thông tin về mô hình dịch vụ gia tăng cho SQL Server, 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:

935897 Mô hình dịch vụ gia tăng sẵn dùng từ nhóm SQL Server để cung cấp hotfixes cho các vấn đề được báo cáoĐể biết thêm thông tin về lược đồ đặt tên cho các bản Cập Nhật SQL Server, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

822499 Lược đồ đặt tên mới cho gói cập nhật phần mềm Microsoft SQL ServerĐể biết thêm thông tin về các thuật ngữ Cập nhật phần mềm, 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:

824684 Mô tả thuật ngữ chuẩn được sử dụng để miêu tả các bản cập nhật phần mềm của Microsoft

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?

Cảm ơn phản hồi của bạn!

×