Статус задания SQL

На самом деле я работаю над SP в SQL 2005. Используя SP, я создаю задание и планирую его на определенное время. Выполнение этих заданий занимает от 5 до 10 минут, поскольку база данных очень велика. Но я не знаю, как проверить статус задания. Я хочу знать, было ли оно успешно завершено или произошла ошибка при выполнении. В исключении я также возвращаю правильный код ошибки. Но я не знаю, где я могу проверить этот код ошибки.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
2
0
5 350
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вот что я смог найти, возможно, это решит вашу проблему:

  1. SP, чтобы узнать текущую активность.
 exec msdb.dbo.sp_help_jobactivity  @job_id = (your job_id here)

Вы можете выполнить этот SP и поместить результат во временную таблицу и получить оттуда требуемый результат.

В противном случае взгляните на эти таблицы:

  • msdb.dbo.sysjobactivity

  • msdb.dbo.sysjobhistory

Выполните следующее, чтобы увидеть связь между этими таблицами.

exec sp_helptext sp_help_jobactivity

- Скопируйте в анализаторе запросов и отформатируйте его должным образом, чтобы вы могли легко его понять --Чтобы выполнить вашу задачу (задание) с помощью запроса exec msdb.dbo.sp_start_job @job_name = 'Job Name', @ server_name = имя сервера - После выполнения запроса, чтобы проверить, закончился он или нет Объявите @JobId как varchar (36) Выберите @JobId = job_id из sysjobs, где name = 'Your Job Name' Объявить @JobStatus как int set @JobStatus = -1 Хотя @JobStatus <= -1 Начинать - Обеспечьте временную задержку в соответствии с вашей работой выберите @JobStatus = isnull (run_status, -1) от sysjobactivity JA, sysjobhistory JH где JA.job_history_id = JH.instance_id и JA.job_id = @JobId Конец выберите @JobStatus

null = Бег 1 = Завершено успешно 0 = завершено с ошибкой

- Как только ваша работа будет завершена, вы получите результат

Получил код получше от здесь

Use msdb
go

select distinct j.Name as "Job Name", j.description as "Job Description", h.run_date as LastStatusDate, 
case h.run_status 
when 0 then 'Failed' 
when 1 then 'Successful' 
when 3 then 'Cancelled' 
--when 4 then 'In Progress' 
end as JobStatus
from sysJobHistory h, sysJobs j
where j.job_id = h.job_id and h.run_date = 
(select max(hi.run_date) from sysJobHistory hi where h.job_id = hi.job_id)
order by 1

ВНИМАНИЕ: run_status из 4 (в процессе) не происходит (msdn.microsoft.com/en-us/library/ms174997.aspx)

Chris Driver 26.05.2010 19:18

Другие вопросы по теме