SQL Server/SQL Server Tip

Windows Event Log에 SQL Server Agent Log 기록

SungWookKang 2015. 7. 23. 10:09
반응형

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으로 나누어서 오류를 발생시켜 작업이 실패하도록 설정하였다.

 

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

 

 

2014-05-28 / 강성욱 / http://sqlmvp.kr

 

SQLSERVER, mssql, 데이터베이스 강좌, SQL Server Agent, Agent errorlog, Agent Log. Windows Event log, sp_update_job, Agent 알림 활성화

반응형