Hallo,
ich habe folgendes Problem: Ich habe hier einen MSSQL Server 2005 laufen und dazu eine .NET Multithreading-Anwendung die aus der DB Daten abfragt (jeweils mit eigenem Thread). In ziemlich unregelmäßigen und seltenen Fällen steigt die CPU Last des Servers durch mehrere Anfragen aus diversen Thread's (z.B. bei 3 Anfragen von 3 Systemen mit jeweils 6 Threads die die Datenbank nach diversen Daten anfragen) auf fast 100% und bleibt dort in einer endlosen Schleife hängen. Die Tabellen sind alle mit einem indiziertem Unique-Schlüssel versehen.
Leider ist der Fehler nicht so im Code der Anwendung zu finden, wie ich dachte. Daher würde ich gerne irgendwie (z.B. mit dem Profiler) alle SQL Anfragen an die DB mitloggen, sobald die Serverlast über z.B. 85% steigt.
Ich habe da eventuell an einen WindowsDienst gedacht, allerdings muss dieser irgendwie die gesamten SQL Abfragen dann auch lesen und loggen können.
Gibt es da irgendwelche Möglichkeiten?
Danke schonmal im vorraus.
ich habe folgendes Problem: Ich habe hier einen MSSQL Server 2005 laufen und dazu eine .NET Multithreading-Anwendung die aus der DB Daten abfragt (jeweils mit eigenem Thread). In ziemlich unregelmäßigen und seltenen Fällen steigt die CPU Last des Servers durch mehrere Anfragen aus diversen Thread's (z.B. bei 3 Anfragen von 3 Systemen mit jeweils 6 Threads die die Datenbank nach diversen Daten anfragen) auf fast 100% und bleibt dort in einer endlosen Schleife hängen. Die Tabellen sind alle mit einem indiziertem Unique-Schlüssel versehen.
Leider ist der Fehler nicht so im Code der Anwendung zu finden, wie ich dachte. Daher würde ich gerne irgendwie (z.B. mit dem Profiler) alle SQL Anfragen an die DB mitloggen, sobald die Serverlast über z.B. 85% steigt.
Ich habe da eventuell an einen WindowsDienst gedacht, allerdings muss dieser irgendwie die gesamten SQL Abfragen dann auch lesen und loggen können.
Gibt es da irgendwelche Möglichkeiten?
Danke schonmal im vorraus.
Comment