Как я могу определить состояние задания?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
43
задан Kenny Evitt 25 January 2011 в 19:50
поделиться

3 ответа

Вы могли попытаться использовать системную хранимую процедуру sp_help_job. Это возвращает информацию о задании, его шагах, расписаниях и серверах. Например

EXEC msdb.dbo.sp_help_job @Job_name = 'Your Job Name'

Книги SQL Онлайн должны содержать большую информацию о записях, которые она возвращает.

Для возврата информации о нескольких заданиях, Вы могли попытаться запросить следующие системные таблицы, которые содержат различные биты информации о задании

  • msdb.dbo. SysJobs
  • msdb.dbo. SysJobSteps
  • msdb.dbo. SysJobSchedules
  • msdb.dbo. SysJobServers
  • msdb.dbo. SysJobHistory

Их имена довольно очевидны (кроме SysJobServers, которые содержат информацию на том, когда задание длятся выполненный и результат).

Снова, информация о полях может быть найдена в MSDN. Например, проверьте страницу для SysJobs

45
ответ дан Tim C 26 November 2019 в 22:24
поделиться

Вы не определили, как хотели бы Вы видеть эти детали.

Для первого взгляда я предложил бы проверить управление сервером Studio .

Вы видите задания и текущие статусы в части SQL Server Agent при Jobs. При выборе задания Страница свойств показывает ссылку на Историю Задания, где Вы видите запуск и время окончания, если там какие-либо ошибки, которые ступают, вызвали ошибку и так далее.

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

существует Монитор Действия Задания, но на самом деле я никогда не использовал его. У Вас может быть попытка.

, Если Вы хотите проверить его через T-SQL, тогда я не знаю, как можно сделать это.

2
ответ дан Biri 26 November 2019 в 22:24
поделиться

Это - то, что я использую для получения рабочих заданий (преимущественно, таким образом, я могу уничтожить тех, которые, вероятно, зависли):

SELECT
    job.Name, job.job_ID
    ,job.Originating_Server
    ,activity.run_requested_Date
    ,datediff(minute, activity.run_requested_Date, getdate()) AS Elapsed
FROM
    msdb.dbo.sysjobs_view job 
        INNER JOIN msdb.dbo.sysjobactivity activity
        ON (job.job_id = activity.job_id)
WHERE
    run_Requested_date is not null 
    AND stop_execution_date is null
    AND job.name like 'Your Job Prefix%'

, Поскольку Tim сказал, MSDN / документация BOL довольно хороша на содержании sysjobsX таблиц. Просто помните, что они - таблицы в MSDB.

27
ответ дан Arj 26 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: