WMI 이벤트 감시자 작업

 

안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com)

이번 시간에는 [WMI 이벤트 감시자 작업]에 대해서 알아 보도록 하겠습니다.

 

WMI 이벤트 감시자 작업은 시스템에서 발생하는 이벤트 정보를 인식하는 작업 입니다. WMI이벤트란 파일의 생성이나 삭제, 응용 프로그램 실행, 프로그램 설치, 서비스 종료 등과 같은 행위를 말합니다.

WMI 이벤트 감시자를 이용한 작업

지정된 폴더에 원하는 파일이 전송되는 경우 파일을 읽어서 테이블에 로딩하는 작업을 수행.

특정 폴더로 파일이 생성되면 자동으로 여러 대상으로 배포하는 작업을 수행

특정 서비스 또는 응용 프로그램이 종료될 때 사용자가 지정한 작업을 수행하도록 함.

 

이번 실습에서는 특정 폴더로 파일이 복사 되었을 때 이벤트를 감지하여 SSIS 작업을 실행하는 방법을 알아 보도록 하겠습니다.

 

 

[BIDS]를 실행하여 [Integration Services 프로젝트]를 실행 합니다.

 

 

[제어 흐름]탭에서 [WMI 이벤트 감시자 태스크]를 마우스를 이용하여 드래그 앤 드롭으로 끌어다 놓습니다.

 

 

[WMI 이벤트 감시자 태스크]에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

 

[WMI 이벤트 감시자 태스크 편집기]창이 나타납니다.

[일반] 탭에서는 태스크의 이름과 설명을 설정 합니다.

 

 

[WMI 옵션]탭에서는 연결 관리자 및 옵션 등을 지정 합니다.

WMI 옵션

  • WmiConnection – WMI 연결을 지정.

 

 

  • WqlQuerySourceType – WMI 이벤트를 인식하기 위한 WQL 쿼리의 입력 형태를 지정. 직접 입력 또는 변수에 WQL 쿼리를 저장한 후 이 변수를 사용하도록 지정 할 수도 있으며 별도의 파일로 만든 후 이 파일을 사용하도록 지정할 수도 있습니다.

  • WqlQuerySource – 직접 입력으로 지정한 경우 WQL 쿼리를 입력.

SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE TargetInstance ISA "CIM_DirectoryContainsFile" AND TargetInstance.GroupComponent = "Win32_Directory.Name=\"D:\\\\SSIS_TEST\""

 

 

 

 

  • ActionAtEvent – 이벤트가 발생 되었을 때 행할 수행 동작을 설정.
    • 이벤트 기록 – 단순히 이벤트가 발생된 것을 감지하고 AfterEvent 속성에 지정된 대로 진행.
    • 이벤트를 기록하고 SSIS 이벤트를 실행 – AfterEvent 속성에 지정된 대로 진행할 뿐만 아니라 이벤트 처리기에서 WMI 이벤트 발생 시 수행 되도록 설정한 이벤트 처리 작업을 실행. 즉 이벤트 처리기의 WMIEventWatcherEventOccurred 부분에 구성된 작업들이 수행.

 

 

 

 

  • AfterEvent – 이벤트가 발생 될 경우 작업 결과를 성공 또는 실패로 반환하고 작업을 종료 하거나 다시 감시하도록 설정. 이벤트를 다시 감시하도록 설정할 경우 아래에 있는 NumberOfEvents의 횟수만큼 반복하게 됨.
  • ActionAtTimeout – Timeout 속성에서 지정된 시간(초)이 지난 경우 작업 결과를 성공 또는 실패로 반환하고 작업을 종료하거나 다시 감시하도록 설정. 이벤트를 다시 감시하도록 설정한 경우에는 NumberOfEvents 의 횟수 만큼 반복.
  • NumberOfEvents – 이벤트를 다시 감시할 횟수 설정. 이 값을 0으로 설정되면 계속해서 감시하게 됨.
  • Timeout – 이벤트가 발생 할 때 까지 대기하는 시간. 값이 0으로 설정되면 이벤트가 발생 할 때까지 무한 대기

 

 

[제어 흐름]탭에서 [스크립트 태스크]를 끌어다 놓습니다.

 

아래 그림과 같이 코드를 입력 합니다.

 

 

편집이 완료 되었으면 패키지를 실행 합니다.

패키지를 실행하면 아래 그림과 같이 대기 상태로 진행 됩니다.

 

 

바탕화면의 텍스트 파일을 WQL에서 입력한 폴더의 위치로 복사해 보도록 하겠습니다.

 

 

이벤트가 감지 되는 순간 작업이 실행되며 나머지 패키지가 실행 됩니다.

 

이 작업을 응용하여 여러가지 이벤트 발생시점에 따라 다양한 작업을 실행 할 수 있을 듯 합니다. 

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



No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 479
1566 SSIS - SSIS패키지 실행 하기. – Job Agent 등록 및 수동 실행 jevida(강성욱) 2013.10.02 15517
1565 SSIS - 패키지 저장 방식의 종류 및 장점. jevida(강성욱) 2013.10.02 8330
1564 SSIS - 성능 카운터 - SSIS를 튜닝 하자 jevida(강성욱) 2013.10.02 9217
1563 SSIS - 배포 및 배포 마법사 jevida(강성욱) 2013.10.02 10994
1562 SSIS - 로깅 - SSIS의 실행 정보를 로깅하자 jevida(강성욱) 2013.10.02 7632
1561 SSIS - 보안 - 보안레벨에 따른 암호화 수준. jevida(강성욱) 2013.10.02 9151
1560 SSIS - 트랜잭션 - 패키지에서 트랜잭션을 제어 하자 jevida(강성욱) 2013.10.02 7565
1559 SSIS -스크립트 작업 및 ActiveX 스크립트 작업 jevida(강성욱) 2013.10.02 8954
1558 SSIS - SQL 실행 작업 jevida(강성욱) 2013.10.02 11958
» SSIS - WMI 이벤트 감시자 작업 jevida(강성욱) 2013.09.25 8373
1556 SSIS - WMI 데이터 판독기 작업 jevida(강성욱) 2013.09.25 7644
1555 SSIS - FTP 작업 jevida(강성욱) 2013.09.25 9562
1554 SSIS - 파일 시스템 작업 - 폴더 생성 삭제, 파일 복사 삭제 등 관리 작업을 하자 jevida(강성욱) 2013.09.25 9736
1553 SSIS - 오류 메시지 전송 작업 jevida(강성욱) 2013.09.25 10359
1552 SSIS - 작업 전송 작업 jevida(강성욱) 2013.09.25 7466
1551 SSIS - 로그인 전송 작업 jevida(강성욱) 2013.09.25 8855
1550 SSIS - 데이터베이스 전송 작업 jevida(강성욱) 2013.09.25 8483
1549 SSIS - Master 저장 프로시저 전송 태스크 jevida(강성욱) 2013.09.25 7054
1548 SSIS - 패키지 실행 - 부모 패키지와 자식패키지로 효율적인 관리하기 jevida(강성욱) 2013.09.25 8944
1547 SSIS - XML 태스크 - XML 비교, 병합, 출력등 다양한 작업을 하자. jevida(강성욱) 2013.09.24 7153





XE Login