Share via


sp_help_jobhistory(Transact-SQL)

적용 대상:SQL Server

다중 서버 관리의 서버에 대한 작업에 대한 정보를 제공합니다기본.

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 기본값이 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  

참고 항목

sp_purge_jobhistory(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)