SQL Server/SSIS 강좌

감사 - 출력 열에 여러가지 정보를 나타내자

SungWookKang 2015. 7. 16. 09:58
반응형

감사 - 출력 열에 여러가지 정보를 나타내자

 

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

이번 시간에는 감사에 대해서 알아 보도록 하겠습니다.

 

감사는 패키지가 실행 될 때의 환경이나 상황에 대한 정보를 데이터 흐름에 추가하여 여러가지 정보를 확인 할 수 있는 개체 입니다.

입력 데이터에 여러가지 정보를 추가하여 출력할 수 있습니다.

감사 변환은 하나의 입력과 하나의 출력을 가지며 오류 출력은 존재하지 않습니다.

 

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

 

[제어 흐름]탭에서 [데이터 흐름 태스크]를 드래그 앤 드롭으로 추가 합니다.

[감사]이름을 지정하여태스크를 생성 합니다.

 

[데이터 흐름]탭에서 그림과 같이 [OLE DB 원본]과 [OLE DB 대상]을 끌어다 놓습니다. 그리고 그 사이 [감사]작업을 추가하여 데이터 흐름선을 연결 합니다.

 

[OLE DB 원본]에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

그림과 같이 편집 창이 나타나면 [OLE DB 연결 관리자]에서 원본 DB의 연결 관리자를 선택하고 해당 테이블을 선택하여 미리 보기를 이용하여 정상적으로 데이터가 읽어오는지 확인 합니다.

(본 실습에서는 Adventureworks의 Address 테이블 사용)

 

[감사] 작업에서 마우스 오른쪽을 클릭하여 편집을 선택 합니다.

 

아래 그림과 같이 [감사 변환 편집기]가 실행 됩니다.

편집기를 살펴 보면 [출력열] 이름을 지정할 수 있으며 이때 어느 감사 정보를 출력할 것인지 [감사유형]을 정의 할 수 있습니다.

 

감사 유형의 종류

  • 실행 인스턴스 GUID : 패키지가 수행할 때의 GUID값이며, 이 값은 매번 수행될 때마다 달리진다.
  • 패키지ID : 수행되는 패키지의 ID정보, 패지키 ID는 제어 흐름 영역에서 속성창의 ID부분에서 확인 가능 하다.

  • 패키지 이름 : 수행되는 패키지 이름
  • 버전ID : 패키지의 버전 정보. 패키지의 버전은 패키지 내의 수정 작업이 저장되면 변경된다.
  • 실행 시작 시간 : 패키지가 수행되기 시작한 시간.
  • 컴퓨터 이름 : 수행되는 컴퓨터의 이름 정보
  • 사용자 이름 : 패키지를 수행하는 사용자 이름
  • 작업 이름 : 감사 변환이 포함되어 있는 태스크(데이터 흐름 작업의 이름) 이름.
  • 작업 ID : 감사 변환이 포함되어 있는 데이터 흐름의 ID정보. 이 정보는 제어 흐름 영역에서 데이터 흐름 작업을 클릭한 후 속성창의 ID부분에서 확인 가능하다.

 

이번 실습에서는 [컴퓨터 이름]을 선택하도록 합니다.

[출력 열 이름]에 [ServerName]라는 출력 이름을 지정하고 [감사 유형]에서는 [컴퓨터 이름]을 선택 합니다.

 

[OLE DB 대상] 작업에서 마우스 오른쪽을 클릭하여 편집을 선택 합니다.

 

[OLE DB 연결 관리자]에서 대상 DB의 연결 관리자를 선택 합니다. 그리고 [새로 만들기] 버튼을 클릭하여 대상 테이블을 새로 만들어 봅니다.(이미 대상 테이블이 존재하는 경우 [테이블 또는 뷰 이름]에서 대상 테이블을 선택 합니다.

[새로 만들기]를 선택 하면 [변환 작업]에 추가하였던 컬럼이 자동으로 생성됨을 확인 할 수 있습니다.

 

[매핑]탭으로 이동하여 대상이 적절히 매핑 되었는지 확인 합니다.

 

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

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생

 

패키지 작업이 완료 되었으면 SSMS를 이용하여 실제로 데이터에 [감사]작업이 잘 이루어 졌는지 확인 합니다.

 

 

대상 데이터에 [ServerName]컬럼에 컴퓨터 이름이 [감사]작업을 통하여 입력 된 것을 확인 할 수 있습니다.

 

감사 변환은 데이터가 입력될 때의 상황에 대한 정보를 결과 데이터에 포함하여 사용할 수 있는 기능으로 잘못된 데이터 처리나 버전관리등을 할 때 유용하게 사용하면 좋을 듯 합니다.

 

반응형