Moin zusammen,
mich würde mal interessieren, wie Ihr eure Anwendung in Bezug auf die
SQL Verbingung programmiert bzw. einstellt.
Zitat:
Mein
SQL Server: 2 CPU's 2.66GHz mit 2GB
RAM
Ich habe seit ein paar Tagen Performanceprobleme mit meinem
SQL 2005 Express Server.
Morgens, wenn die Anwender sich am Computer anmelden, wird mein Programm ausgeführt, welches Computerinformationen über
WMI ermittelt und in die
SQL DB schreibt. Das Programm braucht normalerweise nicht länger als 30 Sekunden, um die Daten zu ermitteln und in die
DB zu schreiben.
Es kann vorkommen, dass 500 Anwender gleichzeit Daten in die
DB schreiben. In dieser Zeit ist der
SQL Server an seinem Limit und hat längere bis ganz lange Antwortzeiten. Wenn die Stoßzeit des Anmeldens vorbei ist, ist er wieder performat.
SQL Einstellungen im Programm:
Code:
KeppConnecton: True
Datenübermittlung via TADODataSet
Sollte man eventuell auf TADOCommand umsteigen und mit Parameter arbeiten und ggf. prepare verwenden? Massendaten sind es aber eigentlich nicht. Wäre schön zu wissen, wie ihr das händeln würdet bzw. was ich noch optimieren könnte.
Des weiteren habe ich Programme, die die Informationen anzeigen für eine handvoll Anwender. Würdet ihr die
SQL Verbindung immer wieder trennen nach einer
DB Abfrage oder einmal öffnen und KeppConnection True lassen und erst mit dem Programmende die Verbindung schließen?
Ich habe das Gefühl, dass er die Resourcen nicht frei gibt, wenn ich die Verbindung mit SQLConnection.Close beendet im Programm. Erst wenn das ganz Programm geschlossen wird.
Wäre schön zu wissen, wie Ihr solche Anforderungen löst?
Vielen Dank im voraus und hoffe auf Eure Erfahrungen.
Sven