Windows Event Log에 SQL Server Agent Log 기록

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012, 2014

 

SQL Server Agent는 기본적으로 알림이 활성화 되어 있지 않다. SSMS에서 작업을 생성할 때 알림 탭으로 이동하면 알림을 활성화 할 수 있는 옵션을 확인 할 수 있다. 알림 옵션에는 이메일을. 호출, 메시지 호출, 윈도우 이벤트 로그, 작업삭제가 있다.

 

작업 관리를 위해 효율적인 방법은 작업의 실패의 경우 윈도우이벤트로그의 응용프로그램 이벤트 로그에 정보를 기록 하는 것이다. 다음 예제는 작업이 실패 할 경우 윈도우 이벤트의 응용프로그램 이벤트 로그에 로그를 기록하는 구성방법이다.

 

스크립트를 실행하면 현재 인스턴스에 정의된 작업에 대한 이벤트 알림에 대한 세부정보를 확인 할 수 있다.

SELECT

    name, notify_level_eventlog

FROM msdb..sysjobs

 

 

Notify_level_eventlog의 레벨 옵션은 다음과 같다.

Notify_level_eventlog

0 = 로깅 없음

1 = 성공시 기록

2 = 실패시 기록

3 = 모두 기록

 

 

로깅을 수행하지 않은 작업을 확인 하는 스크립트이다. 위의 표를 참고하여 notify_level_eventlog 값을 조건절에 입력 한다.

SELECT

    name

FROM msdb..sysjobs

WHERE notify_level_eventlog = 0

 

 

SQL Agent의 작업 실패 시 윈도우 이벤트로그의 응용프로그램 이벤트 로그에 기록할 수 있도록 설정을 변경 하는 스크립트이다.

EXEC msdb.dbo.sp_update_job @job_name=N'JOB_A', @notify_level_eventlog=2

GO

 

JOB_A라는 작업에서 강제로 0으로 나누어서 오류를 발생시켜 작업이 실패하도록 설정하였다.

 

이벤트로그에 기록되는 것을 확인 할 수 있다.

 




강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp





profile

강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

Kakao Talk : SQLMVP

Line : jevida


현재 LA에 거주하고 있으며 SQL에 관심있는 분이면 언제든 친추 환영합니다.