Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Microsoft phân phối Microsoft SQL Server 2008 R2 gói dịch vụ 1 (SP1) hoặc các bản sửa lỗi Microsoft SQL Server 2012 trong 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 Cập Nhật bảo mật được bao gồm trong phiên bản SQL Server 2008 R2 gói dịch vụ trước đó 1 (SP1) hoặc SQL Server 2012 Update.

Triệu chứng

Hãy cân nhắc tình huống sau đây. Bạn chạy truy vấn trong Microsoft SQL Server 2008 R2 hoặc trong Microsoft SQL Server 2012 và trình tối ưu truy vấn tạo ra một kế hoạch thực hiện có chứa toán tử hàng đầu. Trong trường hợp này, truy vấn có thể mất nhiều thời gian để chạy. Ví dụ, bạn chạy một truy vấn giống như sau:

SELECT TableA.Col1 FROM TableA JOIN TableB ON TableA.Col1 = TableB.Col1 WHERE TableA.Col2 = N'A' AND TableB.Col3 IN (SELECT Col1 FROM TableC )Truy vấn này liên quan đến hai gia nhập. Một tham gia nằm giữa các TableB và TableC. (Điều này được ngụ ý bởi sự hiện diện của predicate.) Tham gia khác nằm giữa bảng A và kết quả của gia nhập đầu tiên. Danh tánh sẽ trả về True nếu truy vấn tìm thấy ít nhất một hàng đáp ứng các predicate tham gia đầu tiên. Do đó, trình tối ưu hóa truy vấn thêm toán tử trên cùng trong kế hoạch thực thi truy vấn. Một truy vấn như vậy chỉ có thể trả về một vài hàng. Tuy nhiên, có thể mất nhiều thời gian hơn để thực hiện truy vấn này hơn sẽ được dự kiến. Trong kế hoạch thực hiện truy vấn thực tế, số hàng ước tính khác một cách đáng kể so với số hàng thực tế. Điều này ảnh hưởng đến khả năng của trình tối ưu truy vấn để ước tính chính xác chi phí cho các lựa chọn kế hoạch khác nhau. Vấn đề này cũng có thể xảy ra nếu bạn sử dụng toán tử trên cùng một cách rõ ràng hoặc nếu bạn sử dụng một trong các toán tử sau đây:

  • TÙY CHỌN (NHANH N)

  • TRONG

Giải pháp

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

Gói dịch vụ SQL Server 2008 R2 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 1 cho SQL Server 2008 R2 Service Pack 2. Để 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:

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

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

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 bản Cập Nhật tích lũy 7 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:

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

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 Cumulative Update 2 cho SQL Server 2012. Để 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:

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

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 phải áp dụng một hotfix SQL Server 2012 vào một bản cài đặt của SQL Server 2012.

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

2679366 Gói Cập Nhật tích lũy 13 cho SQL Server 2008 R2Lư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ànhGhi chú Sau khi bạn cài đặt bản Cập Nhật tích lũy, bạn nên bật gắn cờ 4199 để bật sửa lỗi được cung cấp trong bản Cập Nhật tích lũy này nếu các điều kiện sau đây là đúng:

  • Gói truy vấn có một toán tử trên cùng bên trên một toán tử tham gia vòng lặp lồng nhau (nối 1) ở bên phải của một toán tử áp dụng/gia nhập khác (gia nhập 2).

  • Bên ngoài gia nhập 1 có tham chiếu bên ngoài vào bên ngoài gia nhập 2.

  • Gia nhập 1 dùng một vị ngữ bình đẳng trên một cột bên trái là duy nhất.

Ví dụ về truy vấn như vậy xuất hiện trong mục "các triệu chứng". (Điều này giả định rằng một số ràng buộc độc đáo tồn tại trong cơ sở dữ liệu.) Nếu có các truy vấn khác có chứa hàng đầu, tùy chọn (FAST N), trong hoặc các toán tử tồn tại và tạo các triệu chứng tương tự nhưng không khớp với mẫu được mô tả ở đây, hãy bật theo dõi cờ 4138.Cảnh báo Nếu bạn bật theo dõi cờ 4138, hiệu suất có thể giảm đối với một số truy vấn khác có chứa hàng đầu, tùy chọn (nhanh N), hoặc các toán tử tồn tại. Theo dõi gắn cờ 4138 nên chỉ được sử dụng khi các điều kiện sau đây là đúng:

  • Hiệu ứng của nó trên các truy vấn chậm liên quan đến các toán tử này được xác nhận.

  • Không có giải pháp thay thế hữu ích nào khác.

  • Không có regressions được phát hiện trên các truy vấn khác có chứa các toán tử tương tự.

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

Cách giải quyết

Để giải quyết vấn đề này, hãy sử dụng toán tử nối ngoài cùng bên trái hoặc bất kỳ gợi ý nào của một số trình tối ưu hóa.

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

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?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

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

×