sp_help_jobhistory (Transact-SQL)
Область применения: SQL Server
Предоставляет сведения о заданиях серверов в многосерверном административном домене.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_help_jobhistory
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'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 = ] N'server' ]
[ , [ @mode = ] 'mode' ]
[ ; ]
Аргументы
[ @job_id = ] 'job_id'
Идентификационный номер задания. @job_id является уникальным идентификатором по умолчаниюNULL
.
[ @job_name = ] N'job_name'
Имя задания. @job_name — sysname с значением по умолчаниюNULL
.
[ @step_id = ] step_id
Идентификационный номер этапа. @step_id имеет значение int с значением по умолчаниюNULL
.
[ @sql_message_id = ] sql_message_id
Идентификационный номер сообщения об ошибке, возвращаемого 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 необходимо ввести в форме, где yyyy
имеется четырехзначный yyyyMMdd
год, MM
является двухзначным именем месяца и dd
является двухзначным именем дня.
[ @end_run_date = ] end_run_date
Дата завершения задания. @end_run_date имеет значение int с значением по умолчаниюNULL
. @end_run_date необходимо ввести в форме yyyyMMdd
, где yyyy
имеется четырехзначный год, MM
является двухзначным именем месяца и dd
является двухзначным именем дня.
[ @start_run_time = ] start_run_time
Время запуска задания. @start_run_time имеет значение int с значением по умолчаниюNULL
. @start_run_time необходимо ввести в форме HHmmss
, где HH
двухзначный час дня, mm
является двухзначной минутой дня и ss
является двухзначной секундой дня.
[ @end_run_time = ] end_run_time
Время завершения выполнения задания. @end_run_time имеет значение int с значением по умолчаниюNULL
. @end_run_time необходимо ввести в формеHHmmss
, где HH
является двухзначный час дня, mm
является двухзначной минутой дня и ss
является двухзначной секундой дня.
[ @minimum_run_duration = ] minimum_run_duration
Минимальное время для выполнения задания. @minimum_run_duration имеет значение int с значением по умолчаниюNULL
. @minimum_run_duration необходимо ввести в формеHHmmss
, где HH
является двухзначный час дня, mm
является двухзначной минутой дня и ss
является двухзначной секундой дня.
[ @run_status = ] run_status
Состояние выполнения задания.@run_status является int и может быть одним из этих значений.
значение | Описание |
---|---|
0 |
Неудачно |
1 |
Выполнено |
2 |
Повторить (только для этапа) |
3 |
Отменено |
4 |
Сообщение о проценте выполнения |
5 |
Неизвестно |
[ @minimum_retries = ] minimum_retries
Минимальное число повторных попыток выполнить задание. @minimum_retries имеет значение int с значением по умолчаниюNULL
.
[ @oldest_first = ] oldest_first
Следует ли сначала представить выходные данные с самыми старыми заданиями. @oldest_first имеет значение int с значением по умолчанию0
.
0
сначала представляет самые новые задания.1
сначала представляет самые старые задания.
[ @server = ] N'server'
Имя сервера, на котором было выполнено задание. @server имеет имя sysname с значением по умолчаниюNULL
.
[ @mode = ] 'mode'
Указывает, выводит ли SQL Server все столбцы в результирующем наборе (FULL
) или сводку (SUMMARY
) столбцов. @mode — varchar(7) с значением по умолчаниюSUMMARY
.
Значения кода возврата
0
(успешно) или 1
(сбой).
Результирующий набор
Фактический список столбцов зависит от значения @mode. Самый полный набор столбцов показан в следующей таблице и возвращается при @modeFULL
.
Имя столбца | Тип данных | Description |
---|---|---|
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 | Истекло время выполнения задания или шага в HHmmss формате. |
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
возвращает отчет с историей указанных запланированных заданий. Если не указаны параметры, отчет содержит журнал всех заданий в расписании.
Разрешения
Вы можете предоставить EXECUTE
разрешения для этой процедуры, но эти разрешения могут быть переопределены во время обновления SQL Server.
Другим пользователям необходимо предоставить одну из следующих агент SQL Server предопределенных ролей базы данных в msdb
базе данных:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
Члены роли базы данных SQLAgentUserRole могут просматривать журнал только для заданий, принадлежащих им.
Примеры
А. Вывод списка всех сведений о задании
В следующем примере отображаются все сведения о задании NightlyBackups
.
USE msdb;
GO
EXEC dbo.sp_help_jobhistory
@job_name = N'NightlyBackups';
GO
B. Вывод сведений о заданиях, которые соответствуют определенным условиям
Следующий пример иллюстрирует вывод всех сведений о шагах заданий, завершившихся неудачно с кодом ошибки 50100
(пользовательская ошибка) и уровнем серьезности 20
.
USE msdb;
GO
EXEC dbo.sp_help_jobhistory
@sql_message_id = 50100,
@sql_severity = 20,
@run_status = 0,
@mode = N'FULL';
GO