Поделиться через


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

Идентификатор шага задания, с которого должно начаться выполнение.

категория

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

Число целевых серверов в задании.

тип

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 доступен просмотр всех локальных и многосерверных заданий.

Примеры

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

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

USE msdb ;
GO

EXEC dbo.sp_help_job ;
GO

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

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

См. также

Справочник

sp_add_job (Transact-SQL)

sp_delete_job (Transact-SQL)

sp_update_job (Transact-SQL)

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