MsSQL und Logfile Auswertung

MrBarcode

Erfahrenes Mitglied
Wir haben hier bei uns auf einem MSSQL Server ein Logfile, das täglich aktualisiert wird (dabei kommen durchschnittlich 60.000 neue Einträge hinzu). Das LogFile hält mittlerweile bei ca. 2GB, aber das ist nicht das Problem.

Beim Auswerten der Tabelle mittels einiger StoredProcedures wächst der Speicherverbrauch des SQLServers von anfänglich 46MB auf satte 1.6 GB und die Prozessorlast steigt auf 100%. Nachdem die Auswertung nach gut 20-30 Minuten fertig ist sinkt die Prozessorauslastung wieder auf ein erträgliches Maß, doch der Speicher bleibt belegt.

Zum ersten ist der Speicherverbrauch an sich schon nicht erfreulich, zum anderen scheint bei uns ein ASP Script, das die Ergebnisse der Auswertung anzeigt schon mal wesentlich länger zu brauchen als wenn man die Prozeduren im QueryAnalyzer ausführt, bzw. es läuft konsequent in ein Timeout.

Hat wer irgenwdie Erfahrung mit ähnlichen Problemen?
 
Wie schon gesagt um die 30 Minuten. Uns ist aber aufgefallen, dass wenn man eine Where Abfrage, mit der der Zeitbereich der Auswertung eingeschränkt wird:

WHERE 1=1 AND Firstdate > 'soundso' AND Seconddate < 'soundso'

weglässt, dann gibt einem der QueryAnalyzer die Auswertung schon nach einer Minute zurück. Kann man den Datumsbereich irgendwie effizienter Einschränken. Mein erster Einfall war ja mit einem Between, aber ist das tatsächlich schneller?
Anm. wozu das Where 1=1 da drinsteht weiß ich einfach nicht, es ist da und ich solls nicht verändern ...

Naja, auf unserem Testserver mit einer kleineren Datenbank funtkioniert die Auswertung mit dem ASP Script binnen Sekunden, nur auf dem Echtsystem dauert es solange.
 

Neue Beiträge

Zurück