Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2008 dưới dạng một tệp có thể tải xuống. Vì các bản sửa lỗi được tích lũy, mỗi bản phát hành mới đều chứa tất cả các bản sửa lỗi nóng và tất cả bản sửa lỗi bảo mật có trong bản phát hành sửa lỗi SQL Server 2008 trước đó.
Triệu chứng
Hãy cân nhắc các trường hợp sau:
- Bạn chạy truy vấn song song sử dụng hàm row_number trong Microsoft SQL Server 2008.
- Bạn tìm cách chạy truy vấn bằng cách sử dụng truy vấn con nằm trong câu lệnh SELECT hoặc câu lệnh Ngôn ngữ Thao tác Dữ liệu (DML).
Trong trường hợp này, bạn gặp phải một trong các sự cố sau:
Bạn nhận được kết quả không chính xác nếu nhiều lần chạy truy vấn bên trong câu lệnh SELECT.
Bảng có thể chứa dữ liệu không chính xác nếu truy vấn chạy bên trong một câu lệnh DML. Nếu bảng có ràng buộc, câu lệnh có thể không thành công do vi phạm ràng buộc.
Ví dụ: câu lệnh INSERT có thể không thành công và lỗi vi phạm khóa chính sẽ xảy ra nếu bảng có khóa chính.
Lưu ý: Những sự cố này có thể xảy ra ở một trong các tình huống sau:
- Bạn đặt tùy chọn gợi ý truy vấn MAXDOP thành một giá trị lớn hơn 2.
- Bạn đặt tùy chọn Mức độ Song song Tối đa thành giá trị lớn hơn 2 trong cấu hình máy chủ.
Giải pháp
Để giải quyết sự cố này, hãy tải gói dịch vụ mới nhất dành cho SQL Server 2008. Để 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:
968382 Cách lấy gói dịch vụ mới nhất cho SQL Server 2008
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:
Bật cờ theo dõi 4134 nếu bạn đã áp dụng một trong các bản cập nhật sau:
- Gói cập nhật tích lũy 6 cho SQL Server 2008 hoặc gói cập nhật tích lũy mới hơn cho SQL Server 2008
- Gói cập nhật tích lũy 2 cho SQL Server 2008 Gói Dịch vụ 1 (SP1) hoặc gói cập nhật tích lũy mới hơn cho SQL Server 2008 SP1
Để biết thêm thông tin về cách bật cờ theo dõi, hãy truy cập trang web MSDN sau:
Tham khảo phần "Giải pháp thay thế" trong bài viết Cơ sở Kiến thức Microsoft 970198.
Để 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:
970198 KHẮC PHỤC: Bạn nhận được kết quả không đúng khi chạy truy vấn có sử dụng hàm row_number trong SQL Server 2008