sp_help_job (Transact-SQL)

Применимо к:SQL Server

Возвращает сведения о заданиях, используемых агентом SQL Server для выполнения автоматизированных действий в SQL Server.

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sp_help_job { [ @job_id = ] job_id  
[ @job_name = ] 'job_name' }   
     [ , [ @job_aspect = ] 'job_aspect' ]   
     [ , [ @job_type = ] 'job_type' ]   
     [ , [ @owner_login_name = ] 'login_name' ]   
     [ , [ @subsystem = ] 'subsystem' ]   
     [ , [ @category_name = ] 'category' ]   
     [ , [ @enabled = ] enabled ]   
     [ , [ @execution_status = ] status ]   
     [ , [ @date_comparator = ] 'date_comparison' ]   
     [ , [ @date_created = ] date_created ]   
     [ , [ @date_last_modified = ] date_modified ]   
     [ , [ @description = ] 'description_pattern' ]  

Аргументы

[ @job_id = ] job_id Идентификационный номер задания. job_id является уникальным идентификатором с значением NULL по умолчанию.

[ @job_name = ] 'job_name' Имя задания. job_name имеет имя sysname с значением NULL по умолчанию.

Заметка

Чтобы просмотреть определенное задание, необходимо указать job_id или job_name . Опустите как job_id, так и job_name для возврата сведений обо всех заданиях.

[ @job_aspect = ] 'job_aspect' Отображаемый атрибут задания. job_aspect — varchar(9) с значением NULL по умолчанию и может быть одним из этих значений.

значение Description
ALL Сведения об аспекте задания
РАБОТУ Информация о должностях
РАСПИСАНИЕ Сведения о расписании
ШАГИ Сведения об шаге задания
ЦЕЛИ Сведения о цели

[ @job_type = ] 'job_type' Тип заданий, которые необходимо включить в отчет. job_type — varchar(12) с значением NULL по умолчанию. job_type может быть LOCAL или MULTI-SERVER.

[ @owner_login_name = ] 'login_name' Имя входа владельца задания. login_name — sysname с значением NULL по умолчанию.

[ @subsystem = ] 'subsystem' Имя подсистемы. подсистемаnvarchar(40) с значением NULL по умолчанию.

[ @category_name = ] 'category' Имя категории. категорияsysname с значением NULL по умолчанию.

[ @enabled = ] enabled Число, указывающее, отображаются ли сведения для включенных заданий или отключенных заданий. включена крошечная функция с значением NULL по умолчанию. 1 указывает включенные задания, а 0 — отключенные задания.

[ @execution_status = ] status Состояние выполнения заданий. состояние int с значением NULL по умолчанию и может быть одним из этих значений.

значение Description
0 Возвращает только те задания, которые не находятся в состоянии бездействия или приостановки.
1 Выполняющиеся.
2 Ожидающие потока.
3 Ожидающие повторной попытки.
4 Бездействующие.
5 Приостановленные.
7 Выполняющие завершающие действия.

[ @date_comparator = ] 'date_comparison' Оператор сравнения для сравнения date_created и date_modified. date_comparison является char(1), и может быть =, <или >.

[ @date_created = ] date_created Дата создания задания. date_created — datetime с значением NULL по умолчанию.

[ @date_last_modified = ] date_modified Дата последнего изменения задания. date_modified — datetime с значением NULL по умолчанию.

[ @description = ] 'description_pattern' Описание задания. description_pattern — nvarchar(512) с значением NULL по умолчанию. description_pattern могут включать подстановочные знаки SQL Server для сопоставления шаблонов.

Значения кода возврата

0 (успешно) или 1 (сбой)

Результирующие наборы

Если аргументы не указаны, sp_help_job возвращает этот результирующий набор.

Имя столбца Тип данных Описание:
job_id uniqueidentifier Уникальный идентификатор задания.
originating_server nvarchar(30) Имя сервера, от которого поступило задание.
name sysname Имя задания.
enabled tinyint Показывает, разрешено ли задание к выполнению.
описание nvarchar(512) Описание задания.
start_step_id int Идентификатор шага задания, с которого должно начаться выполнение.
category sysname Категория задания.
владелец sysname Владелец задания.
notify_level_eventlog int Битовая маска , указывающая, в каких обстоятельствах событие уведомления должно быть зарегистрировано в журнале приложений Microsoft Windows. Может принимать одно из следующих значений:

0 = никогда

1 = при успешном выполнении задания

2 = при сбое задания

3 = каждый раз, когда задание завершается (независимо от результата задания)
notify_level_email int Битовая маска , указывающая, в каких обстоятельствах должна отправляться электронная почта уведомления после завершения задания. Возможные значения совпадают с notify_level_eventlog.
notify_level_netsend int Битовая маска , указывающая, в каких обстоятельствах следует отправлять сетевое сообщение после завершения задания. Возможные значения совпадают с notify_level_eventlog.
notify_level_page int Битовая маска , указывающая, в каких обстоятельствах должна отправляться страница при завершении задания. Возможные значения совпадают с notify_level_eventlog.
notify_email_operator sysname Имя адреса электронной почты уведомляемого оператора.
notify_netsend_operator sysname Имя компьютера или пользователя, используемое при отправке сетевых сообщений.
notify_page_operator sysname Имя компьютера или пользователя, используемое при отправке сообщения на пейджер.
delete_level int Битовая маска , указывающая, в каких обстоятельствах задание должно быть удалено при завершении задания. Возможные значения совпадают с notify_level_eventlog.
date_created datetime Дата создания задания.
date_modified datetime Дата последнего изменения задания.
version_number int Версия задания (автоматически обновляется каждый раз при изменении задания).
last_run_date int Дата последнего запуска задания на выполнение.
last_run_time int Время последнего запуска задания на выполнение.
last_run_outcome int Результат последнего выполнения задания:

0 = сбой

1 = успешно выполнено

3 = отменено

5 = неизвестно
next_run_date int Дата следующего запуска задания по расписанию.
next_run_time int Время следующего запуска задания по расписанию.
next_run_schedule_id int Идентификационный номер следующего запуска по расписанию.
current_execution_status int Текущее состояние выполнения:

1 = выполнение

2 = ожидание потока

3 = между повторными попытками

4 = бездействия

5 = приостановлено

6 = устаревший

7 = PerformingCompletionActions
current_execution_step sysname Текущий этап выполнения задания.
current_retry_attempt int Если задание выполняется и этап был повторен — это текущая попытка повтора.
has_step int Число шагов в задании.
has_schedule int Число назначенных запусков задания в расписании.
has_target int Число целевых серверов в задании.
тип int Тип задания.

1 = Локальное задание.

2 = многосерверное задание.

0 = задание не имеет целевых серверов.

Если указан job_id или job_name, sp_help_job возвращает эти дополнительные результирующие наборы для шагов задания, расписаний заданий и целевых серверов заданий.

Это результирующий набор для шагов задания.

Имя столбца Тип данных Описание:
step_id int Уникальный для данного задания идентификатор этапа.
step_name sysname Назовите шаг.
Подсистемы nvarchar(40) Подсистема, в которой выполняется команда этапа.
command nvarchar(3200) Команда для выполнения.
flags nvarchar(4000) Битовая маска значений, управляющих поведением шага.
cmdexec_success_code int Для шага CmdExec это код завершения процесса успешной команды.
on_success_action nvarchar(4000) Что делать в случае успешного выполнения этапа:

1 = бросить с успехом.

2 = завершение работы с ошибкой.

3 = Перейти к следующему шагу.

4 = перейти к шагу.
on_success_step_id int Если on_success_action равно 4, это означает следующий шаг для выполнения.
on_fail_action nvarchar(4000) Действие, предпринимаемое в случае ошибки этапа. Значения совпадают с значениями on_success_action.
on_fail_step_id int Если on_fail_action равно 4, это означает следующий шаг для выполнения.
server sysname Зарезервировано.
database_name sysname Для шага Transact-SQL это база данных, в которой будет выполняться команда.
database_user_name sysname Для шага Transact-SQL это контекст пользователя базы данных, в котором выполняется команда.
retry_attempts int Максимальное число попыток повтора команды (в случае неудачи) перед тем, как этап будет учтен как ошибочный.
retry_interval int Интервал в минутах между попытками повтора.
os_run_priority varchar(4000) Зарезервировано.
output_file_name varchar(200) Файл, в который должны записываться выходные данные команды (только шаги Transact-SQL и CmdExec ).
last_run_outcome int Результат последнего запуска этапа:

0 = сбой

1 = успешно выполнено

3 = отменено

5 = неизвестно
last_run_duration int Продолжительность этапа в секундах при последнем запуске.
last_run_retries int Число повторов команды при последнем запуске этапа.
last_run_date int Дата начала последнего выполнения этапа.
last_run_time int Время начала последнего выполнения этапа.
proxy_id int Учетная запись-посредник для шага задания.

Это результирующий набор для расписания задания.

Имя столбца Тип данных Описание:
schedule_id int Идентификатор расписания (уникальный среди всех заданий).
schedule_name sysname Имя расписания (уникально только для данного задания).
enabled int Является ли расписание активным (1) или нет (0).
freq_type int Значение, указывающее, как должно выполняться задание:

1 = один раз

4 = ежедневно

8 = еженедельно

16 = ежемесячно

32 = ежемесячно относительно freq_interval

64 = запуск при запуске службы SQLServerAgent .
freq_interval int Дни, в которые выполняется задание. Значение зависит от значения freq_type. Дополнительные сведения см. в разделе sp_add_schedule (Transact-SQL)
freq_subday_type Int Единицы для freq_subday_interval. Дополнительные сведения см. в разделе sp_add_schedule (Transact-SQL)
freq_subday_interval int Количество freq_subday_type периодов между каждым выполнением задания. Дополнительные сведения см. в разделе sp_add_schedule (Transact-SQL)
freq_relative_interval int Запланированное задание в каждом месяце freq_interval. Дополнительные сведения см. в разделе sp_add_schedule (Transact-SQL)
freq_recurrence_factor int Число месяцев между выполнениями задания по расписанию.
active_start_date int Дата начала выполнения задания.
active_end_date int Дата завершения выполнения задания.
active_start_time int Время начала выполнения задания на active_start_date.
active_end_time int Время завершения выполнения задания на active_end_date.
date_created datetime Дата создания расписания.
schedule_description nvarchar(4000) Описание расписания на английском языке (если запрошено).
next_run_date int Дата следующего выполнения задания в соответствии с расписанием.
next_run_time int Время следующего выполнения задания в соответствии с расписанием.
schedule_uid uniqueidentifier Идентификатор расписания.
job_count int Возвращает число заданий, ссылающихся на данное расписание.

Это результирующий набор для целевых серверов задания.

Имя столбца Тип данных Описание:
server_id int Идентификатор целевого сервера.
server_name nvarchar(30) Имя компьютера целевого сервера.
enlist_date datetime Дата прикрепления целевого сервера к главному серверу.
last_poll_date datetime Дата последнего опроса главного сервера целевым сервером.
last_run_date int Дата последнего запуска задания на выполнение на данном целевом сервере.
last_run_time int Время последнего запуска задания на выполнение на данном целевом сервере.
last_run_duration int Продолжительность последнего выполнения задания на целевом сервере.
last_run_outcome tinyint Результат последнего выполнения задания на данном сервере:

0 = сбой

1 = успешно выполнено

3 = отменено

5 = неизвестно
last_outcome_message nvarchar(1024) Сообщение о результате последнего выполнения задания на данном целевом сервере.

Разрешения

По умолчанию эту хранимую процедуру могут выполнять только члены предопределенной роли сервера sysadmin . Другим пользователям необходимо предоставить одну из следующих предопределенных ролей агента SQL Server в базе данных msdb :

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.

Члены SQLAgentUserRole могут просматривать только собственные задания. Члены sysadmin, SQLAgentReaderRole и SQLAgentOperatorRole могут просматривать все локальные и многосерверные задания.

Примеры

О. Вывод списка сведений обо всех заданиях

На следующем примере показано, как процедура sp_help_job, выполняемая без параметров, возвращает сведения обо всех заданиях, определенных в данный момент в базе данных msdb.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job ;  
GO  

B. Вывод сведений о заданиях, совпадающих с определенным критерием

В следующем примере показано, как выводятся сведения о многосерверных заданиях, владельцем которых является françoisa, которые включены и выполняются.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job   
   @job_type = N'MULTI-SERVER',  
   @owner_login_name = N'françoisa',  
   @enabled = 1,  
   @execution_status = 1 ;  
GO  

C. Вывод всех аспектов сведений о задании

На следующем примере показано, как выводится список всех аспектов сведений о задании NightlyBackups.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job  
    @job_name = N'NightlyBackups',  
    @job_aspect = N'ALL' ;  
GO  

См. также

sp_add_job (Transact-SQL)
sp_delete_job (Transact-SQL)
sp_update_job (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)