SQL Server Agent Job(이후 작업으로 통일)이 성공하거나 실패했을 때 운영자에게 알릴 수 있는 방법이 있습니다.
다음 그림과 같이 작업 속성 중에 알림 탭을 보면 전자메일, 호출, Net Send, Windows 응용 프로그램 이벤트로그에 쓰기… 등의 알림 방법을 선택할 수 있습니다.
각각의 알림을 설정하는 방법은 SQL Server 2005 도움말이나 관련 웹사이트를 참조하세요.
이 글에서는 위 알림 설정을 사용할 수 없고(Net Send는 막혀있고 SMTP 메일 서버에 접속 불가능 할 때) ,
SMS와 메일을 DB의 테이블에 레코드를 추가하는 방식으로 전송할 수 있는 상용솔루션이 설치되어 있다고 가정합니다.
- 새로운 작업을 생성합니다.
- 작업속성에서 단계 탭을 선택한 후 유형을 "Transact-SQL 스크립트(T-SQL)"을 선택합니다.
-
명령 입력박스에 다음의 구문을 입력합니다.
|
declare @run_status tinyint , @message nvarchar(1024)
select @run_status = null
select @run_status = h.run_status , @message = h.message from msdb.dbo.sysjobhistory h inner join msdb.dbo.sysjobs j on h.job_id = j.job_id where step_id = 0 -- 작업결과단계 and j.name = '작업이름' and h.run_date = convert(char(8), getdate(), 112) order by h.run_date desc, h.run_time desc
select @run_status
-- 작업실패 if isnull(@run_status, 0) = 0 -- 0:실패, 1:성공, 2:... begin
메일전송SP 실행(오류메시지= @message) end |
@j.name = '작업이름' 부분에 실제 체크할 작업이름을 정확히 입력하시고,
메일전송SP 실행하는 부분을 적절히 수정하시면 됩니다.
-
일정 탭에서 체크할 작업이 수행된 이후의 시간을 설정합니다.
예를 들면 체크할 작업이 매일 오전 1시에 수행될 때 매일 오전 2시로 설정하면 됩니다.
- 저장합니다.



이올린에 북마크하기
Prev
Rss Feed