MS SQL-Server genehmigt sich zuviel Speicher

Moin zusammen,

System:
Windows 2000, Celeron 1000Mhz, 768MB RAM, MS SQL-Server 2000

Auf diesem System laufen zwei stark beanspruchte Datenbanken (Zugangskontrolle mittels 4 Kartenlesern sowie mehreren Arbeitsplätzen zur Kundenstammverwaltung).
Wenn ich den Server starte, beansprucht die sqlsrv.exe um die 26MB. Nach ein paar Stunden bin ich locker bei 150MB und nach ein paar Tagen bei 500MB. Dann geht natürlich fast nichts mehr.

Frage:
Warum genehmigt sich die DB dermaßen viel Speicher ohne ihn wieder freizugeben und was kann ich im besten Fall dagegen tun?

CU - Dominik

Hi

das kann viele ursachen haben: connections die nicht geschlossen werden, locks, etc… ich würde dem mal auf die spur gehen.

du kannst auch eine memory beschränkung auf dem server setzen. im enterprise manger auf den server klicken und dann bei den eigenschaften die memory begrenzung setzen.

gruss

giuseppe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin,

das kann viele ursachen haben: connections die nicht
geschlossen werden, locks, etc… ich würde dem mal auf die
spur gehen.

Na da hört das Verständnis meinerseits auch schon wieder auf, da ich nicht der Programmierer der zugreifenden Anwendung bin… :smile:
Aber ich geb´s mal so weiter - vielleicht hilft es ja.

du kannst auch eine memory beschränkung auf dem server setzen.
im enterprise manger auf den server klicken und dann bei den
eigenschaften die memory begrenzung setzen.

Die hab ich auch schon gefunden, war mir aber nicht sicher was passieren würde, wenn die Datenbank die eingestellte Max-Größe erreicht. Wird dann sozusagen eine Zwangs-Speicherfreigabe ausgelöst?
Damit könnte ich mir ja zumindest mal etwas helfen.

CU - Dominik

Hallo Dominik,

das kann viele ursachen haben: connections die nicht
geschlossen werden, locks, etc… ich würde dem mal auf die
spur gehen.

Na da hört das Verständnis meinerseits auch schon wieder auf,
da ich nicht der Programmierer der zugreifenden Anwendung
bin… :smile:

Im Entensteißmanager sieht man’s laut und deutlich, ob viele Sessions offen sind.

du kannst auch eine memory beschränkung auf dem server setzen.
im enterprise manger auf den server klicken und dann bei den
eigenschaften die memory begrenzung setzen.

Die hab ich auch schon gefunden, war mir aber nicht sicher was
passieren würde, wenn die Datenbank die eingestellte Max-Größe
erreicht. Wird dann sozusagen eine Zwangs-Speicherfreigabe
ausgelöst?

Der Server versucht dann, mit dem weniger an Speicher zurechtzukommen. Er hält dann nicht mehr so viele Infos im Speicher vor - das kostet wahrscheinlich im Gegenzug Performance. Außerdem wird dadurch die Anzahl gleichzeitiger Sessions und Datenbanksperren reduziert.

Grüße
Clemens