Microsoft phân phối Microsoft SQL Server 2008 R2 Service Pack 1 bản sửa lỗi là một tệp được 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 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 đó 1.
Triệu chứng
Sau khi bạn nâng cấp từ Microsoft SQL Server 2008 vào Microsoft SQL Server 2008 R2, bạn có thể nhận thấy hiệu suất giảm khi bạn chạy một truy vấn sử dụng đường bình hành trong kế hoạch thực thi truy vấn trong SQL Server 2008 R2. Lưu ý Nếu bạn kiểm tra gói truy vấn, bạn thấy có thêm nhiều hoạt động nối kết hơn nữa trong SQL Server 2008. Ngoài ra, số lượng lớn hơn mức độ tương tự (DOP) được sử dụng trong truy vấn, lớn hơn số lượng kết hợp Hash được gia nhập các hoạt động được sử dụng trong kế hoạch truy vấn.
Nguyên nhân
Sự cố này xảy ra do một số thay đổi trong ước tính. Nếu việc sử dụng bộ nhớ thực tế di chuyển quanh giới hạn bộ nhớ, một thay đổi nhỏ trong ước tính cardinality có thể gây ra sự cố tràn.Lưu ý Sự cố này thường xảy ra khi bạn sử dụng một số DOP lớn hơn trong một truy vấn.
Giải pháp
Sau khi bạn áp dụng các hotfix, số lượng phân vùng Hash nối phụ thuộc vào tính khả dụng của bộ nhớ bị hạn chế. Tuy nhiên, bản sửa lỗi này không thể giải quyết được sự cố trong mọi tình huống.
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 bản Cập Nhật Cumulative 3. Để 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:
2754552 Gói Cập Nhật tích lũy 3 cho SQL Server 2008 R2 gói dịch vụ 2 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 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
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 Cumulative 8. Để 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 gói dịch vụ 1, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2723743 Gói Cập Nhật tích lũy 8 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 SQL Server 2008 R2 gói dịch vụ trước đó 1. 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
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
Để làm việc xung quanh vấn đề này, hãy giảm số DOP để giảm hoạt động gia nhập Hash Recursive. Tuy nhiên, điều này có thể khiến tối ưu hóa truy vấn sử dụng việc thực hiện theo tuần tự và chi phí cho việc thực thi nối tiếp là cao.
Thông tin Bổ sung
Để biết thêm thông tin về việc gia nhập băm, hãy đi đến website Microsoft Developer Network (MSDN) sau đây:
Tìm hiểu về tham gia HashĐể biết thêm thông tin về cấp độ bộ nhớ SQL Server, hãy đi đến trang web blog MSDN sau đây: