Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изключение за липса на памет в SQL 2008

Според наистина доста добра статия от базата знания на Microsoft (с връзка тук) това е причинено от заявка, която изисква повече разпределена RAM, отколкото е налична.

С други думи, имате нужда от повече RAM или трябва да преработите заявката, за да разделите процеса на по-малки части.

Това е резюме на цялата статия. Оригиналът съдържа връзки към съдържание, за да обясни по-подробно процеса, чрез който трябва да следвате техните предложения.

Може да получите съобщение за грешка „System.OutOfMemoryException“, когато използвате услугите за отчитане на SQL Server

За да разрешите този проблем, използвайте един от следните методи.

Метод 1

Добавете достатъчно физическа памет към компютъра.

Забележка Ако имате повече от 2 гигабайта (GB) памет, можете да активирате ключа /3GB във файла Boot.ini за по-добра производителност. За повече информация как да използвате ключа /3GB в SQL Server.

Метод 2

Планирайте изготвянето на отчети в извънработно време, когато ограниченията на паметта са по-ниски.

Метод 3

Регулирайте съответно настройката MemoryLimit.

Забележка:Когато правите отчет чрез уеб услугата Reporting Services, уеб услугата Reporting Services получава настройката MemoryLimit от файла Machine.config. Обаче планираният отчет се изготвя от услугата Windows сървър за отчети. Услугата Windows сървър за отчети получава настройката MemoryLimit от файла RSReportServer.config.

Метод 4

Надстройте до 64-битова версия на Microsoft SQL Server 2005 Reporting Services, за да позволите на Reporting Services да използват повече памет.

Метод 5

Редизайн на отчета. За да направите това, използвайте един от следните методи.

Препроектирайте заявките за отчети. Можете да намалите потреблението на памет, като преработите заявките за отчети по следните начини:

  • Връщайте по-малко данни в заявките за отчет.
  • Използвайте по-добро ограничение на клаузата WHERE на заявките за отчет.
  • Преместване на сложни агрегати към източника на данни.

Метод Б

Експортирайте отчета в различен формат. Можете да намалите потреблението на памет, като използвате различен формат за показване на отчета.

Метод C

Опростете дизайна на отчета.

Можете да намалите потреблението на памет, като опростите дизайна на отчета по следните начини:

  • Включете по-малко региони с данни или контроли в отчета.
  • Използвайте детайлен отчет, за да покажете подробности.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се вмъкне изрична стойност за колона за идентичност в таблица „таблица“, когато IDENTITY_INSERT е зададен на OFF

  2. Намиране на предишната ненулева стойност от подреден по дата списък

  3. Изтриване на свързани редове в релация много към много

  4. Преобразувайте ISO форматирана дата в DATETIME

  5. Какво представляват заключване на редове, страници и таблица? И кога се придобиват?