반응형
자주 나오는 사항이라 간단히 설명 드리겠습니다.
다음과 같은 상황입니다. 탐색기를 보면 네트워크 드라이브로 N:을 만들어놓은 상황인데, 패키지를 돌려보면 다음과 같이 에러가 납니다. 그런데 수동으로 패키지를 돌리면 또 실행은 됩니다. 원인은 다음과 같습니다. SSIS 패키지를 실행 시킬 때 사용하는 계정과 네트워크 드라이브를 설정한 계정이 달라서입니다. 이것은 SSIS 문제가 아니라 Windows에서의 특성과 관련있습니다. 간단히 다음과 같이 생각해 보면.. UserA 라는 계정으로 네트워크 드라이브 잡았다라고 해서 UserB로 로그인하면 나타나지 않습니다. 그럼.. SSIS 패키지를 가동 시키는 계정에서도 네트워크 드라이브가 잡혀야 하는데. SQLAgent로 패키지를 돌린다면 패키지를 실행시키는 계정은 SQLAgent 서비스 시작계정이 되겠지요. 따로 특별한 설정을 하지 않았다면 Local Service 또는 Local System 계정이 서비스 시작계정이 됩니다. 그 계정으로 로그인할 방법은 없습니다. 수동으로 돌릴 때는 패키지를 실행 시키는 계정과 네트워크 드라이브를 만든 계정이 동일해서 패키지가 실행될 때 네트워크 드라이브를 찾을 수 있어서 정상적으로 실행이 되는 것이지요. 그럼 방법은.. 파일 카피하는 작업 앞 부분에 프로세스 실행 작업을 추가한 후, 다음과 같은 명령을 수행하는 배치 파일을 하나 만드세요. net use n:\ \\remoteserver\sharefoldername 계정암호 /User:네트워크드라이브를연결할계정 예) D:\makeNetworkDrive.cmd 또한 파일 카피 작업이 끝나면 끊어주는 명령 파일도 하나 만드세요 net use n:\ /delete 예) d:\DeleteNetworkDrive.cmd 이제, 패키지의 파일을 복사하는 부분 앞, 뒤로 프로세스 실행작업을 추가한 후에 위 명령들을 실행하도록 합니다. \ 이렇게 설정해 놓고선 패키지를 돌리면 정상적으로 성공합니다. | ||||||||||||||||
| ||||||||||||||||
|
반응형
'연구개발 > DTS & SSIS' 카테고리의 다른 글
데이터 흐름 원본에서 임시 테이블 사용하기 (0) | 2009.06.20 |
---|---|
Checkpoint를 이용한 패키지 반복 실행 구성 (0) | 2009.06.20 |
SQL Server 2008 데이터 가져오기/내보내기 개선점 (0) | 2009.06.20 |
SSIS의 트랜잭션에 대해서 (0) | 2009.06.20 |
로컬 임시 테이블의 활용 (3) (0) | 2009.06.20 |