sp_help_job (Transact-SQL)
Область применения: SQL Server
Возвращает сведения о заданиях, которые используются агент SQL Server для выполнения автоматизированных действий в SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_help_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @job_aspect = ] 'job_aspect' ]
[ , [ @job_type = ] 'job_type' ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @subsystem = ] N'subsystem' ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @enabled = ] enabled ]
[ , [ @execution_status = ] execution_status ]
[ , [ @date_comparator = ] 'date_comparator' ]
[ , [ @date_created = ] date_created ]
[ , [ @date_last_modified = ] date_last_modified ]
[ , [ @description = ] N'description' ]
[ ; ]
Аргументы
[ @job_id = ] 'job_id'
Идентификационный номер задания. @job_id является уникальным идентификатором по умолчаниюNULL
.
Чтобы просмотреть определенное задание, необходимо указать @job_id или @job_name . Опустите как @job_id, так и @job_name для возврата сведений обо всех заданиях.
[ @job_name = ] N'job_name'
Имя задания. @job_name — sysname с значением по умолчаниюNULL
.
Чтобы просмотреть определенное задание, необходимо указать @job_id или @job_name . Опустите как @job_id, так и @job_name для возврата сведений обо всех заданиях.
[ @job_aspect = ] 'job_aspect'
Отображаемое задание атрибута. @job_aspect — varchar(9) и может быть одним из этих значений.
значение | Описание |
---|---|
ALL |
Сведения об аспекте задания |
JOB |
Информация о должностях |
SCHEDULES |
Сведения о расписании |
STEPS |
Сведения об шаге задания |
TARGETS |
Сведения о цели |
[ @job_type = ] 'job_type'
Тип заданий, которые необходимо включить в отчет.@job_type — varchar(12), с значением по умолчаниюNULL
. @job_type может быть LOCAL
или MULTI-SERVER
.
[ @owner_login_name = ] N'owner_login_name'
Имя входа владельца задания. @owner_login_name имеет имя sysname с значением по умолчаниюNULL
.
[ @subsystem = ] N'подсистема
Имя подсистемы. @subsystem — nvarchar(40) с значением по умолчаниюNULL
.
[ @category_name = ] N'category_name'
Имя категории. @category_name — sysname с значением по умолчаниюNULL
.
[ @enabled = ] включен
Номер, указывающий, для каких заданий отображаются сведения — включенных или отключенных. @enabled крошечный, с значением по умолчаниюNULL
.
1
указывает на включенные задания.0
указывает отключенные задания.
[ @execution_status = ] execution_status
Состояние выполнения заданий. @execution_status является int и может быть одним из этих значений.
значение | Описание |
---|---|
0 |
Возвращает только те задания, которые не являются неактивными или приостановленными. |
1 |
Выполняющиеся. |
2 |
Ожидающие потока. |
3 |
Ожидающие повторной попытки. |
4 |
Бездействующие. |
5 |
Приостановленные. |
7 |
Выполняющие завершающие действия. |
[ @date_comparator = ] 'date_comparator'
Оператор сравнения для сравнения @date_created и @date_last_modified. @date_comparator является char(1), и может быть =
, <
или >
.
[ @date_created = ] date_created
Дата создания задания. @date_created — datetime с значением по умолчаниюNULL
.
[ @date_last_modified = ] date_last_modified
Дата последнего изменения задания. @date_last_modified — datetime с значением по умолчаниюNULL
.
[ @description = ] N'description'
Описание задания. @description — nvarchar(512) с значением по умолчаниюNULL
. @description могут включать подстановочные знаки для сопоставления шаблонов.
Значения кода возврата
0
(успешно) или 1
(сбой).
Результирующий набор
Если аргументы не указаны, sp_help_job
возвращает этот результирующий набор.
Имя столбца | Тип данных | Description |
---|---|---|
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 | Текущее состояние выполнения: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 | Число целевых серверов в задании. |
type |
int | Тип задания.1 = локальное задание.2 = многосерверное задание.0 = задание не имеет целевых серверов. |
Если указана @job_id или @job_name, sp_help_job
возвращает эти дополнительные результирующие наборы для шагов задания, расписаний заданий и целевых серверов заданий.
Это результирующий набор для шагов задания.
Имя столбца | Тип данных | Description |
---|---|---|
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 | Учетная запись-посредник для шага задания. |
Это результирующий набор для расписания задания.
Это результирующий набор для целевых серверов задания.
Имя столбца | Тип данных | Description |
---|---|---|
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) | Сообщение о результате последнего выполнения задания на данном целевом сервере. |
Разрешения
Вы можете предоставить EXECUTE
разрешения для этой процедуры, но эти разрешения могут быть переопределены во время обновления SQL Server.
Другим пользователям необходимо предоставить одну из следующих агент 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
В. Перечисление всех аспектов сведений для задания
На следующем примере показано, как выводится список всех аспектов сведений о задании NightlyBackups
.
USE msdb;
GO
EXEC dbo.sp_help_job
@job_name = N'NightlyBackups',
@job_aspect = N'ALL';
GO