Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Khắc phục: Một truy vấn MDX trong SQL Server 2008 R2 chạy rất chậm nếu truy vấn có lồng nhau Crossjoin chức năng

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2707185

Microsoft phân phối Microsoft SQL Server 2008 R2 SP1 bản sửa lỗi như là một tải về tệp. Bởi vì các bản sửa lỗi tích lũy, mỗi bản phát hành mới có chứa tất cả các hotfix và tất cả các sửa lỗi bảo mật đó được đính kèm với trước SQL Server 2008 R2 SP1 sửa chữa phát hành.

Triệu chứng
Xem xét kịch bản sau đây. Bạn chạy một truy vấn MDX sử dụng lồng nhau Crossjoin chức năng trong Microsoft SQL Server 2008 R2. Chức năng Crossjoin lồng nhau tham khảo một số phân cấp interleaved. Trong trường hợp này, các truy vấn chạy rất chậm, và SQL Server 2008 R2 có thể ngừng đáp ứng.

Ví dụ, bạn chạy một truy vấn MDX tương tự như sau:
CrossJoin(CrossJoin(CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])),[Dimension1 Hierarchy]), [Dimension2 Hierarchy]), [Dimension1 Hierarchy])
Ghi chú
  • Trong phân cấp interleaved, lồng Crossjoin chức năng tham khảo phân cấp kích thước khác nhau.
  • Vấn đề này không xảy ra trong SQL Server 2008.


Nguyên nhân
Vấn đề này xảy ra bởi vì bộ nhớ đó là cần thiết để phân mức gộp nhóm từ cùng một kích thước tăng theo cấp số nhân và cuối cùng được sử dụng.

Giải pháp

Cumulative update Cập nhật thông tin

SQL Server 2008 R2 SP1

Sửa chữa cho vấn đề này lần đầu tiên được phát hành trong Cumulative Update 8. Để biết thêm chi tiết về làm thế nào để có được này tích lũy thông tin trọn gói cho SQL Server 2008 R2, hãy nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2723743 Tích lũy thông tin trọn gói 8 cho SQL Server 2008 R2 Service Pack 1
Lưu ý Bởi vì các bản xây dựng được tích lũy, mỗi sửa chữa mới phát hành chứa tất cả các hotfix và sửa chữa tất cả các sửa lỗi bảo mật đó được đính kèm với trước SQL Server 2008 R2 phát hành. Chúng tôi đề nghị bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2567616 SQL Server 2008 R2 xây dựng được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành
Tình trạng
Microsoft đã xác nhận rằng đây là một vấn đề 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 khác
Để làm việc xung quanh vấn đề này, thay đổi các truy vấn để đặt hệ thống phân cấp kích thước thứ hai trong các chức năng Crossjoin bên ngoài. Ví dụ, viết lại các truy vấn để trông giống như sau:
CrossJoin(CrossJoin(CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])),[Dimension1 Hierarchy]), [Dimension1 Hierarchy]), [Dimension2 Hierarchy])


Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 2707185 - Xem lại Lần cuối: 08/30/2012 00:06:00 - Bản sửa đổi: 1.0

Microsoft SQL Server 2008 R2 Analysis Services

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2707185 KbMtvi
Phản hồi
tml>