#sql #sql-server-2000 #sql-server-agent
#sql #sql-server-2000 #sql-server-agent
Вопрос:
В устаревшем блоке SQL 2000, ожидающем обновления
Есть ли у кого-нибудь скрипт для завершения / прерывания задания в SQL Agent 2000, если оно превышает установленную продолжительность или перекрывается с другим заданием агента.
Это вызывает у нас серьезную проблему: каждые несколько недель задание перезапускается, затем блокируется задание переиндексации, и это замораживает наш сервер 24/7
Ответ №1:
Одним из решений было бы добавить шаг в начале задания, с которым перекрывается длительное задание, который проверяет, выполняется ли продолжительное задание, и, если оно выполняется, выдает sp_stop_job
команду.
Вы можете получить текущее состояние выполнения задания с помощью sp_help_job
, но его выводом не очень легко манипулировать в запросе.
sp_help_job
Здесь обсуждаются различные методы принудительного вывода во временную таблицу в SQL 2000 — в качестве альтернативы вы можете запросить msdb.sysjobhistory
информацию о статусе выполнения.