none
SQL-Server Express benötigt sehr viel Arbeitsspeicher RRS feed

  • Frage

  • Guten Morgen zusammen,

    bei einem unserer Kunden haben wir das Problem, dass der Arbeitsspeicher allmählich knapp wird. Ein Grund dafür sind drei Prozesse des SQL-Servers Express mit ca. 2 GB RAM Nutzung. Einer mit ca 1.3 GB sticht hier besonders raus.

    Die Datenbank selbst ist aber eher überschaubar. Ist das nun normal oder kann man hier durch Einstellungen etwas Arbeitsspeicher einsparen?

    Es läuft ein SBS 2003 mit 4GB Arbeitsspeicher und 4 GB Auslagerungsdatei. Mehr geht daher auch nicht...

    Freitag, 2. Juli 2010 06:49

Antworten

  • Hallo,

    1,3 GB wundert mich, den die SQL Server Express Edition ist auf max. 1 GB Hauptspeicher beschränkt.

    Grundsätzlich allokiert der SQL Server soviel Speicher, wie er benötigt. Der wird nur auf Anfrage vom Betriebssystem wieder freigeben, wenn eine andere Applikation die Resourcen benötigt.

    Man kann den durch den SQL Server max. verwendeten Arbeitsspeicher konfigurieren und so aus reduzieren. Das geht in SSMS über die Eigenschaften des Servers => Tab "Arbeitsspeicher" => "Maximaler Serverarbeitsspeicher"; siehe auch Serverarbeitsspeicher-Optionen

    Alternative geht es auch über ein T-SQL Script; hier als Beispiel mit 500 MB als max. Speicher:

    EXEC sys.sp_configure N'show advanced options', N'1'  RECONFIGURE WITH OVERRIDE

    GO

    EXEC sys.sp_configure N'max server memory (MB)', N'500'

    GO

    RECONFIGURE WITH OVERRIDE

    GO

    EXEC sys.sp_configure N'show advanced options', N'0'  RECONFIGURE WITH OVERRIDE

    GO

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    • Als Antwort markiert Inet-Tec Freitag, 2. Juli 2010 08:01
    Freitag, 2. Juli 2010 07:00

Alle Antworten

  • Hallo,

    1,3 GB wundert mich, den die SQL Server Express Edition ist auf max. 1 GB Hauptspeicher beschränkt.

    Grundsätzlich allokiert der SQL Server soviel Speicher, wie er benötigt. Der wird nur auf Anfrage vom Betriebssystem wieder freigeben, wenn eine andere Applikation die Resourcen benötigt.

    Man kann den durch den SQL Server max. verwendeten Arbeitsspeicher konfigurieren und so aus reduzieren. Das geht in SSMS über die Eigenschaften des Servers => Tab "Arbeitsspeicher" => "Maximaler Serverarbeitsspeicher"; siehe auch Serverarbeitsspeicher-Optionen

    Alternative geht es auch über ein T-SQL Script; hier als Beispiel mit 500 MB als max. Speicher:

    EXEC sys.sp_configure N'show advanced options', N'1'  RECONFIGURE WITH OVERRIDE

    GO

    EXEC sys.sp_configure N'max server memory (MB)', N'500'

    GO

    RECONFIGURE WITH OVERRIDE

    GO

    EXEC sys.sp_configure N'show advanced options', N'0'  RECONFIGURE WITH OVERRIDE

    GO

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    • Als Antwort markiert Inet-Tec Freitag, 2. Juli 2010 08:01
    Freitag, 2. Juli 2010 07:00
  • Erstmal Danke Olaf für die schnelle Antwort. Ist ja wirklich komisch, dass er schon mehr Arbeitsspeicher frisst, als maximal möglich ;o)

    Screenshot

    Ich werd deinen Vorschlag gleich mal umsetzen.

    Viele Grüße aus Niederbayern

    Freitag, 2. Juli 2010 07:33
  • Wenn Du zufällig SBS Premium hast, dann ist eine Standard Edition des SQL Servers dabei; zumindest ist es bei SBS 2008 so.

    Du hast übrigens 2 Instanzen laufen, da solltest Du nun darauf achten, bei welcher Du die Änderungen vornimmst.


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de

    Freitag, 2. Juli 2010 07:44
  • Hat bestens funktioniert. Hab den Prozess jetzt mal auf 600 MB runtergeschraubt. Sollte eigentlich auch ausreichend sein. Zur Not weiß ich jetzt ja wie ich das Ganze wieder erhöhen kann ;o)

    Komisch war nur, dass die Einstellung für den maximalen Arbeitsspeicherverbrauch irgendwo bei ner Million MB war. Die Ganze Zeile war vollgeschrieben... Vielleicht eine Standard-Einstellung von dem Programm, das den SQL-Server installiert hat...

    Ist nur ein SBS Standard. Vielleicht wirds beim nächsten Server ja ein Premium. Wir werden sehen.

    Nochmals vielen Dank für deine Hilfe! Bin ganz überrascht. Normalerweise ist die Reaktionszeit in Foren eher lang.

    Freitag, 2. Juli 2010 08:01