데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

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
1573 SSAS 차원 - (3) 롤-플레잉 차원 jevida(강성욱) 2013.10.14 6087
1572 SSAS 차원 - (2) 시간 차원 jevida(강성욱) 2013.10.14 6019
1571 SSAS 차원 - (1) 표준 차원 jevida(강성욱) 2013.10.14 5740
1570 SSAS - 큐브 조회 jevida(강성욱) 2013.10.07 7975
1569 SSAS - 큐브 만들기 jevida(강성욱) 2013.10.07 9171
1568 SSAS - SSAS 환경 설정 jevida(강성욱) 2013.10.07 9218
1567 SSIS - BIDS 임시 파일 위치 설정 jevida(강성욱) 2013.10.02 8741
1566 SSIS - SSIS패키지 실행 하기. – Job Agent 등록 및 수동 실행 jevida(강성욱) 2013.10.02 15364
1565 SSIS - 패키지 저장 방식의 종류 및 장점. jevida(강성욱) 2013.10.02 8313
1564 SSIS - 성능 카운터 - SSIS를 튜닝 하자 jevida(강성욱) 2013.10.02 9191
1563 SSIS - 배포 및 배포 마법사 jevida(강성욱) 2013.10.02 10917
1562 SSIS - 로깅 - SSIS의 실행 정보를 로깅하자 jevida(강성욱) 2013.10.02 7630
1561 SSIS - 보안 - 보안레벨에 따른 암호화 수준. jevida(강성욱) 2013.10.02 9127
1560 SSIS - 트랜잭션 - 패키지에서 트랜잭션을 제어 하자 jevida(강성욱) 2013.10.02 7559
1559 SSIS -스크립트 작업 및 ActiveX 스크립트 작업 jevida(강성욱) 2013.10.02 8921
1558 SSIS - SQL 실행 작업 jevida(강성욱) 2013.10.02 11884
» SSIS - WMI 이벤트 감시자 작업 jevida(강성욱) 2013.09.25 8344
1556 SSIS - WMI 데이터 판독기 작업 jevida(강성욱) 2013.09.25 7639
1555 SSIS - FTP 작업 jevida(강성욱) 2013.09.25 9525
1554 SSIS - 파일 시스템 작업 - 폴더 생성 삭제, 파일 복사 삭제 등 관리 작업을 하자 jevida(강성욱) 2013.09.25 9678





XE Login