Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2008 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 khắc phục SQL Server 2008 trước đó.

Triệu chứng

Hãy cân nhắc tình huống sau đây.

  • Bạn có một truy vấn sử dụng hàm ROW_NUMBER cùng với một tham gia bên ngoài bên trái trong Microsoft SQL Server 2008.

  • Bạn tạo một câu lệnh Select sử dụng truy vấn dưới dạng truy vấn phụ và trả về các hàng duy nhất bằng cách sử dụng từ khóa riêng biệt .

  • Bạn chạy câu lệnh Select này.

Trong trường hợp này, bạn có thể nhận được kết quả không chính xác. Tham gia bên ngoài bên trái không được bỏ qua không chính xác.Lưu ý Để biết thêm thông tin về cách tái tạo vấn đề này, hãy xem mục "các bước để tái tạo vấn đề này" trong phần "thông tin thêm".

Giải pháp

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

SQL Server 2008 R2

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 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:

2489376 Gói Cập Nhật tích lũy 6 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 1

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 11 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:

2413738 Gói Cập Nhật tích lũy 11 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.

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 2 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:

2467239 Gói Cập Nhật tích lũy 2 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.

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

Thông tin Bổ sung

Các bước để tái tạo vấn đề này

  1. Chạy các câu lệnh sau đây. Những báo cáo này tạo hai bảng và chèn một số dữ liệu vào bảng.

    create table A (a1 int)create table B (b1 int)insert into A values(1)insert into B values(1)insert into B values(1)
  2. Chạy câu lệnh sau đây. Câu lệnh này sử dụng hàm ROW_NUMBER cùng với một nối ngoài bên trái.

    select a1, row_number() over (partition by a1 order by a1) as a3from Aleft join B ON A.a1 = B.b1
  3. Chạy câu lệnh sau đây. Câu lệnh này sử dụng truy vấn trong bước 2 làm truy vấn phụ:

    select distinct a1, a3from (      select a1, row_number() over (partition by a1 order by a1) as a3      from A      left join B ON A.a1 = B.b1) as x

Lưu ý Truy vấn trong bước 3 trả về kết quả không chính xác khi sự cố này xảy ra.

Tham khảo

Để biết thêm thông tin về hàm ROW_NUMBER và tham gia bên ngoài, hãy truy cập các website của Microsoft Developer Network (MSDN) sau đây:

Để 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:

822499Lượ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?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.