Хотите перечислить все задания, которые были выполнены вручную в SQL Server - PullRequest
1 голос
/ 08 апреля 2019

Как я могу получить список всех заданий, которые были выполнены вручную на прошлой неделе?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

ОП спросил, как узнать все выполненные задания вручную .Для этого в запрос Tomato'а должно быть включено соединение с msdb.dbo.sysjobactivity, ссылающееся на столбец «run_requested_source».

От Microsoft.

run_requested_source (кто запросил выполнение задания)

1 = SOURCE_SCHEDULER
2 = SOURCE_ALERTER
3 = SOURCE_BOOT
4 = SOURCE_USER
6 = SOURCE_ON_IDLE_SCHEDULE

    SELECT sj.name,
       sjh.step_name,
       sjh.step_id,
       sjh.run_status,
       STUFF(STUFF(CAST(sjh.run_date as nvarchar(10)),5,0,'.'),8,0,'.') as HistRunDate,
       STUFF(STUFF(RIGHT(REPLICATE('0', 6) +  CAST(sjh.run_time as varchar(6)), 6), 3, 0, ':'), 6, 0, ':') as HistRunTime,
       STUFF(STUFF(STUFF(RIGHT(REPLICATE('0', 8) + CAST(sjh.run_duration as varchar(8)), 8), 3, 0, ':'), 6, 0, ':'), 9, 0, ':') as HistRunDuration
       ,sjh.run_status AS JobStatus

FROM   msdb.dbo.sysjobs           AS sj
       join msdb.dbo.sysjobhistory AS sjh on sjh.job_id = sj.job_id
       join msdb.dbo.sysjobactivity AS sa on sj.job_id = sa.job_id
WHERE
    (
        ((sjh.run_date = 20190401 and sjh.run_time > 200000) 
        or (sjh.run_date = 20190409 and sjh.run_time < 100000))
    )
    and sa.run_requested_source = 4

ORDER BY
       sjh.run_date,
       sjh.run_time
0 голосов
/ 08 апреля 2019

Вы должны получить эту информацию из таблицы msdb.dbo.sysjobhistory. Посетите эту ссылку , чтобы узнать о ней больше.

Вот пример. Надеюсь помочь, мой друг.

SELECT sj.name,
       sjh.step_name,
       sjh.step_id,
       sjh.run_status,
       STUFF(STUFF(CAST(sjh.run_date as nvarchar(10)),5,0,'.'),8,0,'.') as HistRunDate,
       STUFF(STUFF(RIGHT(REPLICATE('0', 6) +  CAST(sjh.run_time as varchar(6)), 6), 3, 0, ':'), 6, 0, ':') as HistRunTime,
       STUFF(STUFF(STUFF(RIGHT(REPLICATE('0', 8) + CAST(sjh.run_duration as varchar(8)), 8), 3, 0, ':'), 6, 0, ':'), 9, 0, ':') as HistRunDuration
       ,sjh.run_status AS JobStatus
FROM   msdb.dbo.sysjobs           AS sj
       join msdb.dbo.sysjobhistory AS sjh 
            on sjh.job_id = sj.job_id
WHERE  1=1

AND ((sjh.run_date = 20190401 and sjh.run_time > 200000) 
or (sjh.run_date = 20190409 and sjh.run_time < 100000))

ORDER BY
       sjh.run_date,
       sjh.run_time
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...