반응형

SSIS 로그 보관기간 설정 (CleanUp 기간 설정)

 

  • Version : SSIS Server 2005, 2008, 2008R2, 2012, 2014

 

SQL Server 2012에서 SSIS 패키지를 생성하고 1분마다 실행하도록 Job Agent에 등록하였다. 어느날 SQL Server의 디스크 부족 경고가 발생하여 확인해본 결과 SSISDB가 매우 큰 용량을 차지하고 있음을 알게 되었다.

처음엔 SSIS의 대규모 배치성 작업으로 인한 트랜잭션 로그 증가 때문인것으로 판단하여 SSISDB의 데이터베이스 속성을 Simple(단순)으로 변경하였는데 트랜잭션 로그는 더 이상 쌓이지 않았지만 데이터의 크기는 계속해서 증가하고 있었다.

 

SSISDB의 각 테이블에 대한 사용량을 확인한 결과 다음과 같은 테이블에서 많은 데이터가 생성되어 있음을 확인할 수 있었다. Internal.event_messages 의 경우 20GB이상 사용하고 있는 상태였다.

(아래 그림은 이미 최소 로깅을 적용한 후의 그림이다.)

 

 

SSIS는 실행 될 때 각종 실행 로그를 저장하게 되는데 로그를 보관하는 기간 및 로깅 수준 옵션을 설정하여 일정 기간이 지난 로그 삭제를 진행하거나 불필요한 로그를 쌓지 않게 할 수 있다. 속성을 변경하는 방법으로는 SSIDB에서 마우스 오른쪽을 클릭하여 [속성]을 선택한다.

 

 

카탈로그 속성을 확인해보면 [작업 로그] 항목에서 보존 기간 및 로깅 수준을 변경한다. 보존 기간의 경우 기본값으로 [365]일이 지정되어 있다. 로깅 수준은 [기본]으로 되어 있는데 보관주기를 설정하고 (필자의 경우 2일로 설정) 로깅 또한 없음으로 설정하여 로그를 남기지 않았다(단순 작업이어서 로그가 필요 없는 상태였음).

 

주기적으로 로그 정리를 활성화 하여 사용자가 설정한 기간 이후의 로그는 자동으로 삭제 되도록 하여 로그가 계속해서 증가하는 것을 방지 할 수 있다. 여기서 주의할 점은 대규모 데이터베이스에서 보존 기간을 크게 변경하여 정리할 경우(기존 보존 기간보다 많이 축소하였을 경우) 삭제하는데 오랜 시간이 걸릴 수 있다.

 

 

[참고자료]

http://benevold.blogspot.kr/2013/08/ssisdb-performance-problem.html

 

 

2015-04-21 / 강성욱 / http://sqlmvp.kr

 

 

SQL Server, ETL, SSIS, SSIS 로깅, SSIS 로그 보관기간 설정, SSIS 설정, SSISDB, SSISDB Performance, SSIS Catalog

반응형

+ Recent posts