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


sp_help_jobhistory (Transact-SQL)

Предоставляет сведения о заданиях серверов в многосерверном административном домене.

Значок ссылки на разделСоглашения о синтаксическом обозначении в Transact-SQL

Синтаксис

sp_help_jobhistory [ [ @job_id = ] job_id ] 
     [ , [ @job_name = ] 'job_name' ] 
     [ , [ @step_id = ] step_id ] 
     [ , [ @sql_message_id = ] sql_message_id ] 
     [ , [ @sql_severity = ] sql_severity ] 
     [ , [ @start_run_date = ] start_run_date ] 
     [ , [ @end_run_date = ] end_run_date ] 
     [ , [ @start_run_time = ] start_run_time ] 
     [ , [ @end_run_time = ] end_run_time ] 
     [ , [ @minimum_run_duration = ] minimum_run_duration ] 
     [ , [ @run_status = ] run_status ] 
     [ , [ @minimum_retries = ] minimum_retries ] 
     [ , [ @oldest_first = ] oldest_first ] 
     [ , [ @server = ] 'server' ] 
     [ , [ @mode = ] 'mode' ]

Аргументы

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

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

  • [ @step_id= ] step_id
    Идентификационный номер этапа. Аргумент step_id имеет тип int и значение по умолчанию NULL.

  • [ @sql_message_id= ] sql_message_id
    Идентификационный номер сообщения об ошибке, возвращаемый Microsoft SQL Server при запуске задания. Аргумент sql_message_id имеет тип int и значение по умолчанию NULL.

  • [ @sql_severity= ] sql_severity
    Уровень серьезности сообщения об ошибке, возвращаемый SQL Server при запуске задания. Аргумент sql_severity имеет тип int и значение по умолчанию NULL.

  • [ @start_run_date= ] start_run_date
    Дата запуска задания. Аргумент start_run_date имеет тип int и значение по умолчанию NULL. Аргумент start_run_date должен быть задан в формате «ГГГГММДД», где «ГГГГ» — четырехзначное число года, «ММ» — двухзначное число месяца и «ДД» — двухзначное число дня.

  • [ @end_run_date= ] end_run_date
    Дата завершения задания. Аргумент end_run_date имеет тип int и значение по умолчанию NULL. Аргумент end_run_date должен быть задан в формате «ГГГГММДД», где «ГГГГ» — четырехзначное число года, «ММ» — двухзначное число месяца и «ДД» — двухзначное число дня.

  • [ @start_run_time= ] start_run_time
    Время запуска задания. Аргумент start_run_time имеет тип int и значение по умолчанию NULL. Аргумент start_run_time должен быть задан в формате «ЧЧММСС», где «ЧЧ» — двухзначное число часов, «ММ» — двухзначное число минут и «СС» — двухзначное число секунд.

  • [ @end_run_time= ] end_run_time
    Время завершения задания. Аргумент end_run_time имеет тип int и значение по умолчанию NULL. Аргумент end_run_time должен быть задан в формате «ЧЧММСС», где «ЧЧ» — двухзначное число часов, «ММ» — двухзначное число минут и «СС» — двухзначное число секунд.

  • [ @minimum_run_duration= ] minimum_run_duration
    Минимальное время для завершения задания. Аргумент minimum_run_duration имеет тип int и значение по умолчанию NULL. Аргумент minimum_run_duration должен быть задан в формате «ЧЧММСС», где «ЧЧ» — двухзначное число часов, «ММ» — двухзначное число минут и «СС» — двухзначное число секунд.

  • [ @run_status= ] run_status
    Состояние выполнения задания. Аргумент run_status имеет тип int, значение по умолчанию NULL и может принимать одно из следующих значений:

    Значение

    Описание

    0

    Ошибка

    1

    Выполнено

    2

    Повторить (только для этапа)

    3

    Отменено

    4

    Сообщение о проценте выполнения

    5

    Неизвестно

  • [ @minimum_retries= ] minimum_retries
    Минимальное число повторений задания. Аргумент minimum_retries имеет тип int и значение по умолчанию NULL.

  • [ @oldest_first= ] oldest_first
    Показывать ли результаты, начиная со старейшего задания. Аргумент oldest_first имеет тип int и значение по умолчанию 0, при котором первыми будут показаны результаты выполнения более новых заданий. Значение 1 означает, что сначала будут показаны результаты выполнения более старых заданий.

  • [ @server= ] 'server'
    Имя сервера, на котором выполняется задание. Аргумент server имеет тип nvarchar(30) и значение по умолчанию NULL.

  • [ @mode= ] 'mode'
    Выводит ли SQL Server все столбцы результирующего набора (FULL) полностью или только краткую сводку по столбцам. Аргумент mode имеет тип varchar(7) и значение по умолчанию SUMMARY.

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

0 (успешное завершение) или 1 (неуспешное завершение)

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

Реальный набор столбцов зависит от значения аргумента mode. Самый полный список столбцов показан ниже и возвращается, когда аргумент mode принимает значение FULL.

Имя столбца

Тип данных

Описание

instance_id

int

Идентификационный номер записи журнала.

job_id

uniqueidentifier

Идентификатор задания.

job_name

sysname

Имя задания.

step_id

int

Идентификационный номер этапа (0 для журнала заданий).

step_name

sysname

Имя этапа (NULL для журнала заданий).

sql_message_id

int

Для шага Transact-SQL — самый последний номер ошибки Transact-SQL, обнаруженный при выполнении команды.

sql_severity

int

Для шага Transact-SQL — самая высокая степень серьезности ошибки Transact-SQL, обнаруженная при выполнении команды.

message

nvarchar(1024)

Запись в журнале о задании или этапе.

run_status

int

Результат задания или этапа.

run_date

int

Дата начала выполнения задания или этапа.

run_time

int

Дата начала выполнения задания или этапа.

run_duration

int

Время, прошедшее с момента запуска задания или этапа в формате «ЧЧММСС».

operator_emailed

nvarchar(20)

Оператор, которому было отправлено электронное письмо относительно этого задания (NULL для журнала этапов).

operator_netsent

nvarchar(20)

Оператор, которому было отправлено сетевое сообщение относительно этого задания (NULL для журнала этапов).

operator_paged

nvarchar(20)

Оператор, которому было отправлено сообщение на пейджер относительно этого задания (NULL для журнала этапов).

retries_attempted

int

Количество повторных попыток запуска этапа (всегда 0 для журнала заданий).

server

nvarchar(30)

Сервер, на котором выполняется задание или этап. Всегда (local).

Замечания

Процедура sp_help_jobhistory формирует отчет по журналу для указанных заданий в расписании. Если не указаны параметры, отчет содержит журнал всех заданий в расписании.

Разрешения

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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

Члены роли базы данных SQLAgentUserRole могут просматривать только журнал тех заданий, владельцами которых они являются.

Примеры

A. Вывод всей сведений о задании

В следующем примере отображаются все сведения о задании NightlyBackups.

USE msdb ;
GO

EXEC dbo.sp_help_jobhistory 
    @job_name = N'NightlyBackups' ;
GO

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

Следующий пример иллюстрирует вывод всех сведений о шагах заданий, завершившихся неудачно с кодом ошибки 50100 (пользовательская ошибка) и уровнем серьезности 20.

USE msdb
GO

EXEC dbo.sp_help_jobhistory
    @sql_message_id = 50100,
    @sql_severity = 20,
    @run_status = 0,
    @mode = N'FULL' ;
GO