본문 바로가기

MSSQL/Setting

SQL 2005 SSIS FTP을 이용한 백업 파일 전송

 

Gravity DBA 김경진

 

각 회사의 정책에 따라 달라 지겠지만 로컬 DB Full Backup 파일 보관 기간 그 파일의 다른 서버로 전송 시켜 테이프 백업을 하기 위해 DBA는 주기적으로 파일을 백업 서버로 전송해서 관리 하거나 테이프 백업을 해야 하는 경우가 발생한다. 이런 경우 로컬 백업 파일을 어떻게 하면 자동으로 다른 서버로 전송 시킬 수 있을까?  UNC CMDSHELL 를 이용한 파일복사도 가능하지만 보안 문제로 인하여 SSIS의 기능을 이용 하여 구성 해보았다.
 

[새 연결을 통한 연결 관리자 등록]


[FTP 연결 관리자추가]

[FTP 연결 관리자 편집]

[파일용 연결 관리자 등록]

 

SSIS 에서 FTP 전송을 위해서는 위와 같이 연결 관리자에서 2개의 새 연결을 구성해야
한다
.
새 연결을 통해 연결 관리자는 FTP 연결용 연결 관리자 , 파일용 연결 관리자를 선택한다.
FTP 연결용 연결 관리자의 역할은 파일이 전송될 서버의 FTP 연결 정보를 가지게 된다. 파일용 연결 관리자는 FTP 로 전송한 파일의 정보를 가지고 있게 된다.


파일용 연결 관리자 설정의 경우 보통 파일(D:\BACKUP\BLUEJINI_20090501.bak ) 하나를 선택하게 된다. 하지만 FTP 전송할 백업 파일의 경우 이런형식으로 BLUEJINI_20090501.bak BLUEJINI_20090502.bak , BLUEJINI_20090503.bak 이런식으로 백업이 되기 때문에 매일 추가로 백업된 파일만을 전송해야만 한다.
파일용 연결 관리자의 오른쪽 속성 변경
ConnectionString  : D:\BACKUP\BLUEJINI_20090501.bak    
--> D:\BACKUP\BLUEJINI_*.bak 
Expressions (정규식 추가)
--> 속성값을 ConnectionString
--> "D:\\BACKUP\\BLUEJINI_*.bak"

 

이렇게 함으로써 FTP 연결 관리자와 파일 연결 관리자의 설정이 완료 되었다. 파일 관리자의 역할을 D:\ BACKUP 폴더에 BLUEJIN_로 시작하는 bak 확장자를 가진 파일을 전송하게 되며 로컬 백업이 5일 보관이라고 하면 어제까지의 파일은 어제 전송이 되었기 때문에 그 파일을 제외한 파일만 복사를 하게 하기 위해서는 아래의 FTP 연결 관리자가 아닌 도구에서 FTP 작업을 통해서 설정한다.


[FTP 작업 생성]

이제 본격적으로 제어흐름 항목을 통한 FTP 작업을 해보자.
등록된 FTP 작업의 편집기에서 일반 항목의 FTP 연결 관리자를 선택한다.


등록된 FTP 파일 편집기에서 파일 전송 항목의 RemotePath LocalPath 를 설정후

속성 창에서
MaximumErrorCount 0
으로 변경 하고 StopOnOperationFailure  False


로 변경하게 되면 FTP 루트에 존재 하는 어제 복사된 파일은 업로드 하면서 같은 파일이 있기 때문에 무시 되고 금일 옮겨질(백업된) 파일만 복사 하게 된다.


위와 같은 형식으로 만든 후 저장 후 디버깅을 함으로써 파일 전송이 되는 것을 알 수 있을 것이다. 이렇게 만들어진 SSIS 파일 패키지를 스케쥴러에 등록 시켜 사용 할 수 있다.


참고 포켓북 :

'MSSQL > Setting' 카테고리의 다른 글

tempDB 에 관하여  (0) 2009.05.11
배포 데이터베이스 이동 시키기  (0) 2009.04.21