반응형

SSIS 패키지를 실행할 주의 사항

 

한대성

Microsoft pREMIER FIELD ENGINEER

 

 

 

SSIS 패키지를 만들어서 수행할 , 수동으로 패키지를 돌리는 경우가 종종 있습니다.

패키지의 일부분을 수정한 , 그냥 BIDS 내에서 실행을 시키는 것이지요. 정확히 말해 이러한 행위는 SSIS 패키지 디버깅 작업입니다.

 

패키지 내의 작업 개체가 별로 많이 않을 때에는 상관없지만, 다음과 같은 경우에는 실행시킬 주의하셔야 것이 있습니다.

 

예를 들어 다음과 같이 간단한 패키지를 고려해 봅시다.

 


그림
1) 단순 반복 수행하는 패키지

 

For 루프 컨테이너에서 1000 반복 수행을 하는 단순한 패키지 입니다.

 

패키지를 BIDS 내에서 실행시켰을 때와 dtexec.exe 명령으로 실행시켰을 때의 수행 시간과 서버(패키지가 실행되는) CPU 비교해 보면 다음과 같습니다.

 


그림
2) BIDS에서 실행시켰을

 

 


그림
3) DTEXEC 명령을 이용해서 실행시켰을

 

 


그림
4) % CPU 성능 비교

 

구분

BIDS 내에서 실행

Dtexec 명령 이용 실행

수행 시간

20.608

3.9

% of CPU

최대 100

최대 58

 

BIDS 내에서 패키지를 잘못 실행했다간 서버 다운 시킬 있습니다.

참고로, 패키지와 같이 많은 횟수를 반복해서 수행할 경우, BIDS Process 부분에 결과를 뿌리는 부분에서 상당한 부하를 발생시키기도 합니다.


그림
5) Progress 결과 출력 화면

 

출력할 결과가 아주 많은 경우, 패키지를 중지시켜도 결과를 출력하는 작업 때문에 서버가 거의 멈추는 경우도 발생할 있습니다. 이를 방지하기 위해 SSIS 2008에서는 다음과 같은 고마운(^^) 기능이 추가되었습니다.


그림
6) 진행률 보고 디버깅 활성 여부 옵션

 

반복 수행이 많을 경우, 위의 옵션을 상태에서 BIDS에서 패키지를 실행시키는 것이 그나마 안전하게 패키지를 수행하는 방법입니다.

 

 

 

결론

작업 개체(=태스크) 많은 패키지의 경우, 직접 BIDS에서 수행하지 말고 dtexec 명령을 이용해서 패키지를 수행토록 한다~!

 

 

반응형

+ Recent posts