SQLServer

Job에 대한 시스템 테이블들

손병환 2006. 1. 10. 12:08

dbo.sysdbmaintplan_databases
dbo.sysdbmaintplan_history
dbo.sysdbmaintplan_jobs
dbo.sysdbmaintplans

dbo.sysjobhistory
dbo.sysjobs
dbo.sysjobschedules
dbo.sysjobsteps


msdb 데이터베이스의 위 테이블만 고려한다면 삭제가 가능합니다.

dbmain 은 유지 관리 계획 부분이고, 아래는 작업에 등록된 모든 job 에 관련된 테이블 입니다.

---------------------------------------------------------------------------------

 

select

    h.name,

    d.last_run_outcome

from
    sysjobs h inner join sysjobservers d

        on h.job_id = d.job_id

 

 

last_run_outcome

마지막 성공 실패의 여부를 나타냅니다.

그런데 엽기적인 것이 아래의 값은 한글 MSDN에 나와있는 내용인데요

잘못된 값이네요.. 에궁... 설명서 서비스 팩을 설치안해서 아래의 값이 나온 것 같습니다.

-- 0 = 성공
-- 1 = 실패
-- 2 = 취소

 

정확한 영문부분을 아래에 다시 적습니다.

sysjobservers 라는 테이블에 있는 필드입니다.

last_run_outcome tinyint Outcome for the job's last run:

0 = Fail
1 = Succeed
3 = Cancel

 

이 부분은 현재 Job이 실행중인 상태를 나타냅니다.

이 필드는 sysjobhistory라는 테이블에 있습니다.

run_status int Status of the job execution:

0 = Failed
1 = Succeeded
2 = Retry
3 = Canceled
4 = In progress