sp_help_job (Transact-SQL)
Возвращает сведения о заданиях, используемых агентом SQL Server для выполнения автоматических действий в SQL Server.
Синтаксис
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 имеет тип uniqueidentifier и значение по умолчанию NULL.[ @job_name =] 'job_name'
Имя задания. Аргумент job_name имеет тип sysname и значение по умолчанию NULL.Примечание Необходимо задать либо job_id, либо job_name, но не оба аргумента сразу.
[ @job_aspect =] 'job_aspect'
Атрибут задания для отображения. Аргумент job_aspect имеет тип varchar(9), значение по умолчанию NULL и может принимать одно из следующих значений.Значение
Описание
ALL
Сведения об аспекте задания
JOB
Сведения о задании
SCHEDULES
Сведения о расписании
STEPS
Сведения об шаге задания
TARGETS
Сведения о цели
[ @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'
Имя подсистемы. Аргумент subsystem имеет тип nvarchar(40) и значение по умолчанию NULL.[ @category_name =] 'category'
Имя категории. Аргумент category имеет тип sysname и значение по умолчанию NULL.[ @enabled =] enabled
Номер, указывающий, для каких заданий отображаются сведения — включенных или отключенных. Аргумент enabled имеет тип tinyint и значение по умолчанию NULL. 1 указывает на включенные задания, а 0 — на отключенные.[ @execution_status =] status
Состояние выполнения заданий. Аргумент status имеет тип int, значение по умолчанию NULL и может принимать одно из следующих значений.Значение
Описание
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 |
Показывает, включено ли задание для выполнения. |
description |
nvarchar(512) |
Описание задания. |
start_step_id |
int |
Идентификатор этапа задания, с которого должно начаться выполнение. |
category |
sysname |
Категория задания. |
owner |
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 |
Текущее состояние выполнения. |
current_execution_step |
sysname |
Текущий этап выполнения задания. |
current_retry_attempt |
int |
Если задание выполняется и этап был повторен — это текущая попытка повтора. |
has_step |
int |
Число шагов в задании. |
has_schedule |
int |
Число назначенных запусков задания в расписании. |
has_target |
int |
Число целевых серверов в задании. |
type |
int |
Тип задания. 1 = Локальное задание. 2 = Многосерверное задание. 0 = задание не имеет целевых серверов. |
Если указан аргумент job_id или аргумент job_name, то процедура sp_help_job возвращает следующие дополнительные результирующие наборы для шагов задания, расписания и целевых серверов задания.
Это результирующий набор для шагов задания.
Имя столбца |
Тип данных |
Описание |
---|---|---|
step_id |
int |
Уникальный для данного задания идентификатор этапа. |
step_name |
sysname |
Имя этапа. |
subsystem |
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 доступен просмотр всех локальных и многосерверных заданий.
Примеры
A. Вывод списка сведений обо всех заданиях
На следующем примере показано, как процедура sp_help_job, выполняемая без параметров, возвращает сведения обо всех заданиях, определенных в данный момент в базе данных msdb.
USE msdb ;
GO
EXEC dbo.sp_help_job ;
GO
Б. Вывод сведений о заданиях, совпадающих с определенным критерием
В следующем примере показано, как выводятся сведения о многосерверных заданиях, владельцем которых является francoisa, которые включены и выполняются.
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
В. Вывод всех аспектов сведений о задании
На следующем примере показано, как выводится список всех аспектов сведений о задании NightlyBackups.
USE msdb ;
GO
EXEC dbo.sp_help_job
@job_name = N'NightlyBackups',
@job_aspect = N'ALL' ;
GO