sql >> Databáze >  >> RDS >> Sqlserver

Výjimka Nedostatek paměti v SQL 2008

Podle opravdu velmi dobrého článku znalostní báze Microsoft (odkaz zde) to je způsobeno dotazem, který vyžaduje více přidělené paměti RAM, než je k dispozici.

Jinými slovy, potřebujete více paměti RAM nebo potřebujete přepracovat dotaz, aby se proces rozdělil na menší části.

Toto je shrnutí celého článku. Originál obsahuje odkazy na obsah, které podrobněji vysvětlují proces, kterým byste se měli řídit jejich návrhy.

Při použití služby SQL Server Reporting Services se může zobrazit chybová zpráva „System.OutOfMemoryException“

Chcete-li tento problém vyřešit, použijte jednu z následujících metod.

Metoda 1

Přidejte do počítače dostatek fyzické paměti.

Poznámka:Pokud máte více než 2 gigabajty (GB) paměti, můžete v souboru Boot.ini povolit přepínač /3GB pro lepší výkon. Další informace o použití přepínače /3GB na serveru SQL Server.

Metoda 2

Naplánujte spouštění sestav v mimopracovní dobu, když jsou omezení paměti nižší.

Metoda 3

Upravte odpovídajícím způsobem nastavení MemoryLimit.

Poznámka:Při vykreslování sestavy prostřednictvím webové služby Reporting Services získá webová služba Reporting Services nastavení MemoryLimit ze souboru Machine.config. Naplánovanou sestavu však vykresluje služba Windows Server sestav. Služba Report Server Windows získá nastavení MemoryLimit ze souboru RSReportServer.config.

Metoda 4

Upgradujte na 64bitovou verzi Microsoft SQL Server 2005 Reporting Services, abyste umožnili Reporting Services využívat více paměti.

Metoda 5

Přepracujte přehled. Chcete-li to provést, použijte jednu z následujících metod.

Přepracujte návrhy dotazů sestavy. Spotřebu paměti můžete snížit přepracováním dotazů sestavy následujícími způsoby:

  • Vracejte méně dat v dotazech přehledu.
  • Použijte lepší omezení na klauzuli WHERE v dotazech přehledu.
  • Přesuňte složité agregace do zdroje dat.

Metoda B

Exportujte sestavu do jiného formátu. Spotřebu paměti můžete snížit použitím jiného formátu pro zobrazení sestavy.

Metoda C

Zjednodušte návrh sestavy.

Spotřebu paměti můžete snížit zjednodušením návrhu sestavy následujícími způsoby:

  • Zahrňte do přehledu méně oblastí dat nebo ovládacích prvků.
  • K zobrazení podrobností použijte podrobný přehled.


  1. Jak propojit výsledky PGSeaerch se stránkou indexu ve vnořených zdrojích?

  2. Mysql_real_escape_string() Varování Zmatek

  3. MariaDB CEIL() Vysvětleno

  4. Kontrola a optimalizace databáze MySQL automaticky pomocí Crontab/Cron