Hallo Datenbankprofis,
ich habe ein Problem
Mit meinem Programm prüfe ich zwei
SQL-Datenbanken ab.
In der "führenden"
DB werden Kundendaten angelegt, bzw. aktualisiert.
Diese müssen dann in die zweite
DB geschrieben bzw. abgeglichen werden.
Dies passiert in zeitlichen Intervallen (bsp: alle 3 min).
In diesem Intervall passiert dann ungefähr folgendes:
-Datenbankverbindung DB1 öffnen
-Datenbankverbindung DB2 öffnen
-
Query für DB1 ausführen (Welche Daten haben sich innerhalb des Intervalls geändert)
-Für jede Zeile im
Query prüfen ob vorhanden, evtl Update oder Insert über ADOCommand.execute ausführen
-
Query schliessen
-Datenbanverbindung DB2 schliessen
-Datenbankverbindung DB1 schliessen
Beobachte ich das Verhalten im Taskmanager sehe ich folgendes:
Die Speicherauslastung des
SQL-Server wird beim ausführen des Intervalls grösser. Zwar nur minimal, doch man kann hochrechnen wie lange es dauert, bis nichts mehr funktioniert. Zusätzlich (vielleicht davon abhängig) wird bei jedem Start des Intervalls die Zeitspanne von Start (ein Fenster öffnet sich) bis zum eigentlichen Ablauf (Ein Statusbalken) grösser.
Meine Frage: Wie kann ich verhindern, dass der Speicher des Servers immer grösser wird? Gibt es eine Funktion „aufräumen“?
Danke und Gruss aus Hamburg
Marco