sp_help_job (Transact-SQL)

Возвращает сведения о заданиях, используемых агентом 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 имеет тип 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