sp_help_jobhistory(Transact-SQL)
적용 대상:SQL Server
다중 서버 관리의 서버에 대한 작업에 대한 정보를 제공합니다기본.
구문
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
작업 ID 번호입니다. job_id 기본값이 NULL인 uniqueidentifier입니다.
[ @job_name = ] 'job_name'
작업의 이름입니다. job_name sysname이며 기본값은 NULL입니다.
[ @step_id = ] step_id
단계 식별 번호입니다. step_id 기본값이 NULL인 int입니다.
[ @sql_message_id = ] sql_message_id
작업을 실행할 때 Microsoft SQL Server에서 반환한 오류 메시지의 ID입니다. sql_message_id 기본값이 NULL인 int입니다.
[ @sql_severity = ] sql_severity
작업을 실행할 때 SQL Server에서 반환한 오류 메시지의 심각도 수준입니다. sql_severity 기본값이 NULL인 int입니다.
[ @start_run_date = ] start_run_date
작업이 시작된 날짜입니다. start_run_date 기본값이 NULL인 int입니다. start_run_date 형식yyyyMMdd
으로 입력해야 합니다. 여기서 YYYY는 4자로 된 연도이고 MM은 2자로 된 월 이름이고 DD는 2자로 된 일 이름입니다.
[ @end_run_date = ] end_run_date
작업이 완료된 날짜입니다. end_run_date 기본값이 NULL인 int입니다. end_run_date 형식yyyyMMdd
으로 입력해야 합니다. 여기서 YYYY는 4자리 연도이고 MM은 2자로 된 월 이름이고 DD는 두 문자로 된 일 이름입니다.
[ @start_run_time = ] start_run_time
작업이 시작된 시간입니다. start_run_time 기본값이 NULL인 int입니다. start_run_time 형식으로 HHmmss
입력해야 합니다. 여기서 HH는 하루 중 2자 시간, MM은 하루 중 2자 분, SS는 하루 중 2자 초입니다.
[ @end_run_time = ] end_run_time
작업이 실행을 완료한 시간입니다. end_run_time 기본값이 NULL인 int입니다. end_run_time 형식으로 HHmmss
입력해야 합니다. 여기서 HH는 하루 중 2자 시간, MM은 하루 중 2자 분, SS는 하루 중 2자 초입니다.
[ @minimum_run_duration = ] minimum_run_duration
작업 완료에 대한 최소 시간입니다. minimum_run_duration 기본값이 NULL인 int입니다. minimum_run_duration 형식으로 HHmmss
입력해야 합니다. 여기서 HH는 하루 중 2자 시간, MM은 하루 중 2자 분, SS는 하루 중 2자 초입니다.
[ @run_status = ] run_status
작업의 실행 상태. run_상태 기본값이 NULL인 int이며 이러한 값 중 하나일 수 있습니다.
값 | 설명 |
---|---|
0 | 실패함 |
1 | 성공 |
2 | 다시 시도(단계에만 적용됨) |
3 | Canceled |
4 | 진행 중인 메시지 |
5 | Unknown |
[ @minimum_retries = ] minimum_retries
작업 실행을 다시 시도해야 하는 최소 횟수입니다. minimum_retries 기본값이 NULL인 int입니다.
[ @oldest_first = ] oldest_first
출력을 가장 오래된 작업과 함께 먼저 표시할지 여부입니다. oldest_first int이며, 기본값은 0이며, 이는 먼저 최신 작업을 표시합니다. 1 은 가장 오래된 작업을 먼저 표시합니다.
[ @server = ] 'server'
작업이 수행된 서버의 이름입니다. 서버는 nvarchar(30)이며 기본값은 NULL입니다.
[ @mode = ] 'mode'
SQL Server가 결과 집합(FULL)의 모든 열을 인쇄할지 아니면 열 요약을 인쇄할지 여부입니다. mode는 varchar(7)이며 기본값은 SUMMARY입니다.
반환 코드 값
0 (성공) 또는 1 (실패)
결과 집합
실제 열 목록은 모드 값에 따라 달라집니다. 가장 포괄적인 열 집합은 아래에 표시되며 모드가 FULL일 때 반환됩니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
instance_id | int | 기록 항목 ID 번호입니다. |
job_id | uniqueidentifier | 작업 ID 번호입니다. |
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_상태 | 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) | 단계 또는 작업이 실행되는 서버를 지정합니다. 항상(로컬)입니다. |
설명
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
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
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기