sql >> Database >  >> RDS >> Sqlserver

Uitzondering geheugen vol in SQL 2008

Volgens een echt behoorlijk goed Microsoft Knowledge Base-artikel (hier gelinkt) dit wordt veroorzaakt door een query waarvoor meer RAM is toegewezen dan beschikbaar is.

Met andere woorden, u hebt meer RAM nodig, of u moet de query opnieuw ontwerpen om het proces in kleinere stukken op te delen.

Dit is een samenvatting van het volledige artikel. Het origineel bevat links naar inhoud om in meer detail het proces uit te leggen waarmee u hun suggesties moet opvolgen.

U ontvangt mogelijk het foutbericht "System.OutOfMemoryException" wanneer u SQL Server Reporting Services gebruikt

Gebruik een van de volgende methoden om dit probleem op te lossen.

Methode 1

Voeg voldoende fysiek geheugen toe aan de computer.

Opmerking Als u meer dan 2 gigabyte (GB) geheugen hebt, kunt u de schakeloptie /3GB in het bestand Boot.ini inschakelen voor betere prestaties. Voor meer informatie over het gebruik van de /3GB-switch in SQL Server.

Methode 2

Plan rapporten die buiten kantooruren worden uitgevoerd wanneer de geheugenbeperkingen lager zijn.

Methode 3

Pas de MemoryLimit-instelling dienovereenkomstig aan.

Opmerking:wanneer u een rapport maakt via de Reporting Services-webservice, haalt de Reporting Services-webservice de MemoryLimit-instelling op uit het bestand Machine.config. Er wordt echter een gepland rapport weergegeven door de Report Server Windows-service. De Report Server Windows-service haalt de MemoryLimit-instelling op uit het bestand RSReportServer.config.

Methode 4

Upgrade naar een 64-bits versie van Microsoft SQL Server 2005 Reporting Services zodat Reporting Services meer geheugen kan gebruiken.

Methode 5

Herontwerp het rapport. Gebruik hiervoor een van de volgende methoden.

Ontwerp de rapportquery's opnieuw. U kunt het geheugenverbruik verminderen door de rapportquery's op de volgende manieren opnieuw te ontwerpen:

  • Retourneer minder gegevens in de rapportquery's.
  • Gebruik een betere beperking van de WHERE-clausule van de rapportquery's.
  • Verplaats complexe aggregaties naar de gegevensbron.

Methode B

Exporteer het rapport naar een ander formaat. U kunt het geheugenverbruik verminderen door een ander formaat te gebruiken om het rapport weer te geven.

Methode C

Vereenvoudig het rapportontwerp.

U kunt het geheugenverbruik verminderen door het rapportontwerp op de volgende manieren te vereenvoudigen:

  • Neem minder gegevensregio's of besturingselementen op in het rapport.
  • Gebruik een analyserapport om details weer te geven.


  1. Geef de beschrijving van de tijdzone weer in to_char() in Oracle

  2. Hoe UNIX_TIMESTAMP() werkt in MariaDB

  3. Mysql maakt database aan met nieuwe databaselocatie

  4. PHP-pagina herschikken zodat koptekst voor HTML komt