Der Unterschied zwischen Connection und Command Timeout

Vor kurzem mussten wir mit einem sehr langsamen Rechner testen und dabei meine ich so richtig langsam.

Einen Server ist dabei sehr SQL Intensiv und so traten sehr schnell Probleme von Timeouts auf. Kurz nachgedacht und einfach den ConnectionTimeout etwas höher gesetzt und das Problem trat weiterhin auf.

Kurz danach fiel mir auf das auch ein SqlCommand noch einen Timeout besitzt. Hochgesetzt und nun läuft es ohne Probleme.

Was ist jetzt der Unterschied zwischen ConnectionTimeout und CommandTimeout?

Der ConnectionTimeout dient zur Verbindung zum Server selbst. Daher kann ich den Server erreichen und eine Verbindung herstellen. Der CommandTimeout hingegen gibt an, wie lange ein SQLCommand laufen darf, bevor er gekillt wird. Standardmäßig 30 Sekunden, was in den meisten Fällen auch ausreichen sollten.

Falls man also mal Timeout Probleme hat, dann kann es auch an einer zur langen Ausführung eines SQL Befehls liegen.

Kommentar verfassen