sp_help_job(Transact-SQL)

적용 대상:SQL Server

SQL Server 에이전트가 SQL Server에서 자동화된 작업을 수행하는 데 사용하는 작업에 대한 정보를 반환합니다.

Transact-SQL 구문 표기 규칙

구문

  
sp_help_job { [ @job_id = ] job_id  
[ @job_name = ] 'job_name' }   
     [ , [ @job_aspect = ] 'job_aspect' ]   
     [ , [ @job_type = ] 'job_type' ]   
     [ , [ @owner_login_name = ] 'login_name' ]   
     [ , [ @subsystem = ] 'subsystem' ]   
     [ , [ @category_name = ] 'category' ]   
     [ , [ @enabled = ] enabled ]   
     [ , [ @execution_status = ] status ]   
     [ , [ @date_comparator = ] 'date_comparison' ]   
     [ , [ @date_created = ] date_created ]   
     [ , [ @date_last_modified = ] date_modified ]   
     [ , [ @description = ] 'description_pattern' ]  

인수

[ @job_id = ] job_id 작업 ID 번호입니다. job_id 기본값이 NULL인 uniqueidentifier입니다.

[ @job_name = ] 'job_name' 작업의 이름입니다. job_name sysname이며 기본값은 NULL입니다.

참고 항목

특정 작업을 보려면 job_id 또는 job_name 지정해야 합니다. 모든 작업에 대한 정보를 반환하려면 job_idjob_name 모두 생략합니다.

[ @job_aspect = ] 'job_aspect' 표시할 작업 특성입니다. job_aspect 기본값이 NULL인 varchar(9)이며 이러한 값 중 하나일 수 있습니다.

설명
ALL 작업 측면 정보
작업 작업 정보
일정 일정 정보입니다.
단계 작업 단계 정보
대상 대상 정보

[ @job_type = ] 'job_type' 보고서에 포함할 작업의 유형입니다. job_type varchar(12)이며 기본값은 NULL입니다. job_type 로컬 또는 다중 서버수 있습니다.

[ @owner_login_name = ] 'login_name' 작업 소유자의 로그인 이름입니다. login_name sysname이며 기본값은 NULL입니다.

[ @subsystem = ] 'subsystem' 하위 시스템의 이름입니다. 하위 시스템은 nvarchar(40)이며 기본값은 NULL입니다.

[ @category_name = ] 'category' 범주의 이름입니다. 범주는 sysname이며 기본값은 NULL입니다.

[ @enabled = ] enabled 활성화된 작업 또는 비활성화된 작업에 대한 정보가 표시되는지 여부를 나타내는 숫자입니다. enabled는 tinyint이며 기본값은 NULL입니다. 1 은 활성화된 작업을 나타내고 0 은 비활성화된 작업을 나타냅니다.

[ @execution_status = ] status 작업의 실행 상태입니다. 상태는 기본값이 NULL인 int이며 이러한 값 중 하나일 수 있습니다.

설명
0 유휴 상태이거나 일시 중단되지 않은 작업만 반환합니다.
1 실행.
2 스레드를 기다리는 중입니다.
3 재시도 사이입니다.
4 유휴.
5 일시 중단.
7 완료 작업 수행

[ @date_comparator = ] 'date_comparison'date_created 및 date_modified 비교에 사용할 비교 연산자입니다. date_comparison char(1)이고 =, <또는 >.

[ @date_created = ] date_created 작업이 만들어진 날짜입니다. date_created 날짜/시간이며 기본값은 NULL입니다.

[ @date_last_modified = ] date_modified 작업이 마지막으로 수정된 날짜입니다. date_modified 기본값이 NULL인 datetime입니다.

[ @description = ] 'description_pattern' 작업에 대한 설명입니다. description_pattern nvarchar(512)이며 기본값은 NULL입니다. description_pattern 패턴 일치를 위한 SQL Server 와일드카드 문자를 포함할 수 있습니다.

반환 코드 값

0 (성공) 또는 1 (실패)

결과 집합

인수를 지정하지 않으면 sp_help_job 이 결과 집합을 반환합니다.

열 이름 데이터 형식 설명
job_id uniqueidentifier 작업의 고유 ID입니다.
originating_server nvarchar(30) 작업이 시작된 서버의 이름입니다.
이름 sysname 작업의 이름입니다.
사용 tinyint 작업을 실행할 수 있는지 여부를 나타냅니다.
description nvarchar(512) 작업 설명입니다.
start_step_id int 실행을 시작해야 하는 작업 단계의 ID입니다.
category sysname 작업 범주입니다.
담당자 sysname 작업 소유자입니다.
notify_level_eventlog int 알림 이벤트를 Microsoft Windows 애플리케이션 로그에 기록해야 하는 상황을 나타내는 비트 마스크 입니다. 다음 값 중 하나일 수 있습니다.

0 = Never

1 = 작업이 성공하는 경우

2 = 작업이 실패할 때

3 = 작업이 완료 될 때마다 (작업 결과에 관계 없이)
notify_level_email int 작업이 완료될 때 알림 전자 메일을 보내야 하는 상황을 나타내는 비트 마스크 입니다. 가능한 값은 notify_level_eventlog 경우와 동일합니다.
notify_level_netsend int 작업이 완료될 때 네트워크 메시지를 보내야 하는 상황을 나타내는 비트 마스크 입니다. 가능한 값은 notify_level_eventlog 경우와 동일합니다.
notify_level_page int 작업이 완료될 때 페이지를 보내야 하는 상황을 나타내는 비트 마스크 입니다. 가능한 값은 notify_level_eventlog 경우와 동일합니다.
notify_email_operator sysname 정보를 알릴 운영자의 전자 메일 이름입니다.
notify_netsend_operator sysname 네트워크 메시지를 보낼 때 사용되는 컴퓨터 또는 사용자의 이름입니다.
notify_page_operator sysname 페이지를 보낼 때 사용되는 컴퓨터 또는 사용자의 이름입니다.
delete_level int 작업이 완료될 때 작업을 삭제해야 하는 상황을 나타내는 비트 마스크 입니다. 가능한 값은 notify_level_eventlog 경우와 동일합니다.
date_created datetime 작업을 만든 날짜입니다.
date_modified datetime 작업이 마지막으로 수정된 날짜입니다.
version_number int 작업의 버전입니다. 작업이 수정될 때마다 자동으로 업데이트됩니다.
last_run_date int 작업이 마지막으로 실행을 시작한 날짜입니다.
last_run_time int 작업이 마지막으로 실행을 시작한 시간입니다.
last_run_outcome int 마지막으로 실행된 작업의 결과:

0 = 실패

1 = 성공

3 = 취소됨

5 = 알 수 없음
next_run_date int 다음 작업 실행 일정의 날짜입니다.
next_run_time int 작업이 다음에 실행되도록 예약된 시간입니다.
next_run_schedule_id int 다음 실행 일정의 ID 번호입니다.
current_execution_status int 현재 실행 상태:

1 = 실행 중

2 = 스레드 대기 중

3 = 재시도 사이

4 = 유휴 상태

5 = 일시 중단됨

6 = 사용되지 않음

7 = PerformingCompletionActions
current_execution_step sysname 작업의 현재 실행 단계입니다.
current_retry_attempt int 작업이 실행 중이고 단계가 다시 시도된 경우 현재 재시도 시도입니다.
has_step int 작업이 갖고 있는 단계 수입니다.
has_schedule int 작업이 갖고 있는 작업 일정 수입니다.
has_target int 작업에 있는 대상 서버의 수입니다.
type int 작업의 유형입니다.

1 = 로컬 작업입니다.

2 = 다중 서버 작업입니다.

0 = 작업에 대상 서버가 없습니다.

job_id 또는 job_name 지정한 경우 sp_help_job 작업 단계, 작업 일정 및 작업 대상 서버에 대해 이러한 추가 결과 집합을 반환합니다.

작업 단계에 대한 결과 집합입니다.

열 이름 데이터 형식 설명
step_id int 해당 작업에 관한 단계의 고유 ID입니다.
step_name sysname 단계의 이름입니다.
subsystem nvarchar(40) 단계 명령을 실행할 하위 시스템입니다.
command nvarchar(3200) 실행할 명령입니다.
flags nvarchar(4000) 단계 동작을 제어하는 값의 비트 마스크 입니다.
cmdexec_success_code int CmdExec 단계의 경우 성공적인 명령의 프로세스 종료 코드입니다.
on_success_action nvarchar(4000) 단계가 성공하면 수행할 일:

1 = 성공으로 종료합니다.

2 = 실패로 종료합니다.

3 = 다음 단계로 이동합니다.

4 = 단계로 이동합니다.
on_success_step_id int on_success_action 4실행할 다음 단계를 나타냅니다.
on_fail_action nvarchar(4000) 단계가 실패할 경우 수행할 작업입니다. 값은 on_success_action 경우와 동일합니다.
on_fail_step_id int on_fail_action 4실행할 다음 단계를 나타냅니다.
server sysname 예약되었습니다.
database_name sysname Transact-SQL 단계의 경우 명령이 실행되는 데이터베이스입니다.
database_user_name sysname Transact-SQL 단계의 경우 명령이 실행되는 데이터베이스 사용자 컨텍스트입니다.
retry_attempts int 단계가 성공하지 못한 경우에 해당 단계를 실패로 간주하기 전에 명령을 재시도할 최대 횟수입니다.
retry_interval int 재시도 사이의 간격(분)입니다.
os_run_priority varchar(4000) 예약되었습니다.
output_file_name varchar(200) 명령 출력을 작성해야 하는 파일입니다(Transact-SQL 및 CmdExec 단계만 해당).
last_run_outcome int 마지막으로 실행된 단계의 결과:

0 = 실패

1 = 성공

3 = 취소됨

5 = 알 수 없음
last_run_duration int 마지막으로 실행된 단계의 기간(초)입니다.
last_run_retries int 단계가 마지막으로 실행되었을 때 명령을 다시 시도한 횟수입니다.
last_run_date int 단계가 마지막으로 실행을 시작했을 때의 날짜입니다.
last_run_time int 단계가 마지막으로 실행을 시작한 시간입니다.
proxy_id int 작업 단계의 프록시입니다.

다음은 작업 일정에 관한 결과 집합입니다.

열 이름 데이터 형식 설명
schedule_id int 모든 작업에서 고유한 일정의 ID입니다.
schedule_name sysname 일정의 이름입니다(이 작업에만 고유).
사용 int 일정이 활성 상태인지 여부(1) (0)입니다.
freq_type int 작업을 실행할 시기를 나타내는 값입니다.

1 = 한 번

4 = 매일

8 = 매주

16 = 매월

32 = 월별로 freq_interval

64 = SQLServerAgent 서비스가 시작될 때 실행합니다.
freq_interval int 작업이 실행되는 요일입니다. 값은 freq_type에 따라 달라집니다. 자세한 내용은 sp_add_schedule(Transact-SQL)를 참조하세요 .
freq_subday_type 정수 freq_subday_interval 단위입니다. 자세한 내용은 sp_add_schedule(Transact-SQL)를 참조하세요 .
freq_subday_interval int 작업의 각 실행 사이에 발생할 freq_subday_type 기간의 수입니다. 자세한 내용은 sp_add_schedule(Transact-SQL)를 참조하세요 .
freq_relative_interval int 예약된 작업의 매월 freq_interval 발생합니다. 자세한 내용은 sp_add_schedule(Transact-SQL)를 참조하세요 .
freq_recurrence_factor int 예약된 작업 실행 사이의 개월 수입니다.
active_start_date int 작업 실행을 시작할 날짜입니다.
active_end_date int 작업의 실행 종료 날짜입니다.
active_start_time int active_start_date 작업 실행을 시작할 시간입니다.
active_end_time int active_end_date 작업의 실행을 종료할 시간입니다.
date_created datetime 일정을 만든 날짜입니다.
schedule_description nvarchar(4000) 일정에 대한 영어 설명입니다(요청된 경우).
next_run_date int 일정에 따라 작업이 실행될 날짜입니다.
next_run_time int 일정에 따라 작업이 실행될 시간입니다.
schedule_uid uniqueidentifier 일정의 식별자입니다.
job_count int 이 일정을 참조하는 작업 수를 반환합니다.

작업 대상 서버에 대한 결과 집합입니다.

열 이름 데이터 형식 설명
server_id int 대상 서버의 식별자입니다.
server_name nvarchar(30) 대상 서버의 컴퓨터 이름입니다.
enlist_date datetime 대상 서버가 마스터 서버에 참여한 날짜입니다.
last_poll_date datetime 대상 서버가 마스터 서버를 마지막으로 폴링한 날짜입니다.
last_run_date int 이 대상 서버에서 작업이 마지막으로 시작된 날짜입니다.
last_run_time int 이 대상 서버에서 작업이 마지막으로 실행되기 시작한 시간입니다.
last_run_duration int 이 대상 서버에서 마지막으로 실행된 작업 기간입니다.
last_run_outcome tinyint 이 서버에서 마지막으로 실행된 작업의 결과:

0 = 실패

1 = 성공

3 = 취소됨

5 = 알 수 없음
last_outcome_message nvarchar(1024) 이 대상 서버에서 마지막으로 실행된 작업의 결과 메시지입니다.

사용 권한

기본적으로 sysadmin 고정 서버 역할의 멤버는 이 저장 프로시저를 실행할 수 있습니다. 다른 사용자는 SQL Server msdb 데이터베이스의 다음 에이전트 고정 데이터베이스 역할 중 하나를 부여 받아야 합니다.

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하세요.

SQLAgentUserRole멤버는 자신이 소유한 작업만 볼 수 있습니다. sysadmin, SQLAgentReaderRoleSQLAgentOperatorRole멤버는 모든 로컬 및 다중 서버 작업을 볼 수 있습니다.

A. 모든 작업에 대한 정보 나열

다음 예제에서는 매개 변수 없이 프로시저를 실행 sp_help_job 하여 현재 데이터베이스에 정의된 msdb 모든 작업에 대한 정보를 반환합니다.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job ;  
GO  

B. 특정 조건과 일치하는 작업에 대한 정보 나열

다음 예제에서는 작업이 사용하도록 설정되고 실행되는 위치가 françoisa 소유한 다중 서버 작업에 대한 작업 정보를 나열합니다.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job   
   @job_type = N'MULTI-SERVER',  
   @owner_login_name = N'françoisa',  
   @enabled = 1,  
   @execution_status = 1 ;  
GO  

C. 작업에 대한 정보의 모든 측면 나열

다음 예제에서는 작업에 NightlyBackups대한 정보의 모든 측면을 나열합니다.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job  
    @job_name = N'NightlyBackups',  
    @job_aspect = N'ALL' ;  
GO  

참고 항목

sp_add_job(Transact-SQL)
sp_delete_job(Transact-SQL)
sp_update_job(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)