sp_help_jobhistory (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
См. также
Справочник
sp_purge_jobhistory (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)