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
작업 ID입니다. job_id는 uniqueidentifier이며 기본값은 NULL입니다.
- [ @job_name= ] 'job_name'
작업의 이름입니다. job_name은 sysname이며 기본값은 NULL입니다.
- [ @step_id= ] step_id
단계 ID입니다. step_id는 int이며 기본값은 NULL입니다.
- [ @sql_message_id= ] sql_message_id
작업을 실행할 때 Microsoft SQL Server에서 반환하는 오류 메시지의 ID입니다. sql_message_id는 int이며 기본값은 NULL입니다.
- [ @sql_severity= ] sql_severity
작업을 실행할 때 Microsoft SQL Server에서 반환하는 오류 메시지의 심각도입니다. sql_severity는 int이며 기본값은 NULL입니다.
- [ @start_run_date= ] start_run_date
작업이 시작된 날짜입니다. start_run_date는 int이며 기본값은 NULL입니다. start_run_date는 반드시 YYYYMMDD 형식으로 입력해야 합니다. 여기서 YYYY는 4자리 연도, MM은 두 자리 월, DD는 두 자리 일입니다.
- [ @end_run_date= ] end_run_date
작업이 완료된 날짜입니다. end_run_date는 int이며 기본값은 NULL입니다. end_run_date는 반드시 YYYYMMDD 형식으로 입력해야 합니다. 여기서 YYYY는 4자리 연도, 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이며 기본값은 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 |
기록 항목 ID입니다. |
job_id |
uniqueidentifier |
작업 ID입니다. |
job_name |
sysname |
작업 이름입니다. |
step_id |
int |
단계 ID입니다. 작업 기록의 경우 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는 지정한 예정된 작업의 기록에 관한 보고서를 반환합니다. 매개 변수를 지정하지 않은 경우에는 보고서에 예정된 모든 작업에 관한 기록이 포함됩니다.
사용 권한
기본적으로 sysadmin 고정 서버 역할의 멤버는 이 저장 프로시저를 실행할 수 있습니다. 다른 사용자는 msdb 데이터베이스의 다음 SQL Server 에이전트 고정 데이터베이스 역할 중 하나를 부여 받아야 합니다.
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하십시오.
SQLAgentUserRole 데이터베이스 역할의 멤버는 각자 소유한 작업 기록만 볼 수 있습니다.
예
1. 작업에 대한 모든 정보 나열
다음 예에서는 NightlyBackups
작업에 대한 모든 작업 정보를 나열합니다.
USE msdb ;
GO
EXEC dbo.sp_help_jobhistory
@job_name = N'NightlyBackups' ;
GO
2. 특정 조건에 일치하는 작업에 대한 정보 나열
다음 예에서는 실패한 작업과 실패한 작업 단계에 대한 모든 열과 모든 작업 정보를 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)