Сценарий SQL 2000, чтобы убить работу агента, если он перезапускает - PullRequest
1 голос
/ 25 мая 2011

На устаревшем блоке SQL 2000, который ожидает обновления

Есть ли у кого-нибудь сценарий для уничтожения / отмены задания в SQL Agent 2000, если он превышает заданную продолжительность или перекрывается с другим заданием агента.

Это вызывает у нас серьезную проблему каждые несколько недель, когда задание перезагружается, затем блокируется задание переиндексации, и это приводит к зависанию нашего сервера 24/7.

1 Ответ

1 голос
/ 26 мая 2011

Одним из решений будет добавление шага в начале задания, с которым перекрывается долго выполняемое задание, которое проверяет, выполняется ли еще долго выполняемое задание, и если оно выдает sp_stop_job command.

Вы можете получить текущий статус выполнения задания, используя sp_help_job, но его вывод не очень легко манипулировать в запросе.

Обсуждаются различные методы приведения вывода sp_help_job во временную таблицу в SQL 2000 здесь - в качестве альтернативы вы можете запросить msdb.sysjobhistory, чтобы получить выполнениеинформация о состоянии.

...