Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So legen Sie das CmdExec-Timeout für SQL Server 2005-Jobs fest

SQL-Jobs haben keine Timeouts – Sie können sie nicht so konfigurieren, dass sie von selbst anhalten, wenn sie zu lange laufen oder einen bestimmten Zeitpunkt erreichen. (Hätte mir eine Menge Entwicklungszeit gespart, wenn Sie könnten!) Sie können Schritte konfigurieren, um nach Zeiten oder Dauer zu suchen, und Sie können die Aktionen codieren, die innerhalb von Schritten durchgeführt werden, um nach Zeiten zu suchen, aber auf Job- oder Schrittebene, nein.

Das macht dies zu einer interessanten Frage. Warum bekommst du eine Auszeit? Basierend auf dem, was Sie gesagt haben, würde ich vermuten, dass der SQL-Agent nicht feststellen kann, dass das Betriebssystem den Befehl "do this" erhalten hat, den Sie über den cmdexec-Schritt senden. Nach dem Senden und Warten denkt es, dass der Job nie gestartet wurde, und meldet sich entsprechend (und es gibt Ihr verstecktes System-Timeout). Wie passiert das? Sie könnten Sicherheitskonfigurationen oder Dateizugriffsrechte investieren, aber ich würde damit beginnen, die Routine zu überprüfen, die Sie starten -- irgendetwas daran riecht für mich faul.