Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Ngoại lệ ngoài bộ nhớ trong SQL 2008

Theo một bài viết cơ sở kiến ​​thức thực sự khá tốt về Microsoft (được liên kết tại đây) điều này gây ra bởi một truy vấn yêu cầu nhiều RAM được phân bổ hơn khả dụng.

Nói cách khác, bạn cần nhiều RAM hơn hoặc bạn cần thiết kế lại truy vấn để chia quá trình thành nhiều phần nhỏ hơn.

Đây là một bản tóm tắt của bài báo đầy đủ. Bản gốc chứa các liên kết đến nội dung để giải thích chi tiết hơn về quy trình mà bạn nên làm theo các đề xuất của họ.

Bạn có thể nhận được thông báo lỗi "System.OutOfMemoryException" khi bạn sử dụng SQL Server Reporting Services

Để giải quyết vấn đề này, hãy sử dụng một trong các phương pháp sau.

Phương pháp 1

Thêm đủ bộ nhớ vật lý vào máy tính.

Lưu ý Nếu bạn có nhiều hơn 2 gigabyte (GB) bộ nhớ, bạn có thể bật chuyển đổi / 3GB trong tệp Boot.ini để có hiệu suất tốt hơn. Để biết thêm thông tin về cách sử dụng chuyển đổi / 3GB trong SQL Server.

Phương pháp 2

Lập lịch báo cáo để chạy vào những giờ ngoài giờ khi các hạn chế về bộ nhớ thấp hơn.

Phương pháp 3

Điều chỉnh cài đặt MemoryLimit cho phù hợp.

Lưu ý:Khi bạn hiển thị báo cáo thông qua dịch vụ Web Dịch vụ Báo cáo, dịch vụ Web Dịch vụ Báo cáo nhận cài đặt MemoryLimit từ tệp Machine.config. Tuy nhiên, một báo cáo đã lên lịch được hiển thị bởi dịch vụ Windows Server Report. Dịch vụ Máy chủ Báo cáo Windows lấy cài đặt MemoryLimit từ tệp RSReportServer.config.

Phương pháp 4

Nâng cấp lên phiên bản 64 bit của Dịch vụ báo cáo Microsoft SQL Server 2005 để cho phép Dịch vụ báo cáo sử dụng nhiều bộ nhớ hơn.

Phương pháp 5

Thiết kế lại báo cáo. Để thực hiện việc này, hãy sử dụng một trong các phương pháp sau.

Thiết kế lại các truy vấn báo cáo.Bạn có thể giảm mức tiêu thụ bộ nhớ bằng cách thiết kế lại các truy vấn báo cáo theo những cách sau:

  • Trả lại ít dữ liệu hơn trong các truy vấn báo cáo.
  • Sử dụng hạn chế tốt hơn đối với mệnh đề WHERE của các truy vấn báo cáo.
  • Di chuyển các tổng hợp phức tạp sang nguồn dữ liệu.

Phương pháp B

Xuất báo cáo sang một định dạng khác. Bạn có thể giảm mức tiêu thụ bộ nhớ bằng cách sử dụng một định dạng khác để hiển thị báo cáo.

Phương pháp C

Đơn giản hóa thiết kế báo cáo.

Bạn có thể giảm tiêu thụ bộ nhớ bằng cách đơn giản hóa thiết kế báo cáo theo những cách sau:

  • Bao gồm ít vùng dữ liệu hoặc kiểm soát hơn trong báo cáo.
  • Sử dụng thông tin chi tiết về báo cáo để hiển thị thông tin chi tiết.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL server 2005 mất độ chính xác số

  2. Kết nối SQL Server 2008 với Lịch Outlook?

  3. Chèn vào bảng từ biến bảng?

  4. Nhóm tổng số người dùng đang hoạt động cho mỗi 8 tuần trước đó

  5. INFORMATION_SCHEMA so với sysobjects