반응형

자주 나오는 사항이라 간단히 설명 드리겠습니다.


 Question
제가 패키지를 실행시켜서 네트워크 드라이브에 파일 넣도록 하고 싶은데여 경로와 파일은 패키지 안에  설정 했고여 sql agent 작업에서 만들어서 DTSX 파일 지정 해서  실행시키는데 실패하던데 혹시 이유 아시는 분 계신가여?


다음과 같은 상황입니다.



탐색기를 보면 네트워크 드라이브로 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




이제, 패키지의 파일을 복사하는 부분 앞, 뒤로 프로세스 실행작업을 추가한 후에 위 명령들을 실행하도록 합니다.
\




이렇게 설정해 놓고선 패키지를 돌리면 정상적으로 성공합니다.






관련된 글 (1)
[2005 Q&A] 3086   네트워크 드라이브로 바로 sql 작업을 할수 있나여?? 김영재
김영재 에러메시지가 좀틀린듯 해서 질문드립니다. ^^
메시지
다음 사용자로 실행되었습니다: SQLTEST\SYSTEM. ....00.4035.00 Copyright (C) Microsoft Corp 1984-2005. All rights reserved. 시작 시간: 오후 12:07:51 오류: 2009-04-09 12:07:51.20 코드: 0xC0016016 원본: 설명: 오류 0x8009000B "키를 지정된 상태에서 사용하기에 부적합합니다."(으)로 인해 보호된 XML 노드 "DTS:Password"을(를) 해독하지 못했습니다. 이 정보에 액세스할 수 있는 권한이 없을 수 있습니다. 이 오류는 암호화 오류가 있을 때 발생합니다. 사용할 수 있는 올바른 키를 확인하십시오. 오류 끝 오류: 2009-04-09 12:07:51.25 코드: 0xC0016016 원본: 설명: 오류 0x8009000B "키를 지정된 상태에서 사용하기에 부적합합니다."(으)로 인해 보호된 XML 노드 "DTS:Password"을(를) 해독하지 못했습니다. 이 정보에 액세스할 수 있는 권한이 없을 수 있습니다. 이 오류는 암호화 오류가 있을 때 발생합니다. 사용할 수 있는 올바른 키를 확인하십시오. 오류 끝 오류: 2009-04-09 12:07:51.27 코드: 0xC0016016 원본: 설명: 오류 0x8009000B "키를 지정된 상태에서 사용하기에 부적합합니다."(으)로 인해 보호된 XML 노드 "DTS:Password"을(를) 해독하지 못했습니다. 이 정보에 액세스할 수 있는 권한이 없을 수 있습니다. 이 오류는 암호화 오류가 있을 때 발생합니다. 사용할 수 있는 올바른 키를 확인하십시오. 오류 끝 오류: 2009-04-09 12:07:51.72 코드: 0xC0016016 원본: 설명: 오류 0x8009000B "키를 지정된 상태에서 사용하기에 부적합합니다."(으)로 인해 보호된 XML 노드 "Pack... 패키지 실행이 실패... 단계가 실패했습니다.
-------
라고 뜨는데여 패스워드는 작업에서 데이터 원본에 작업연결자에 바로 넣었거든여 위에 있는 방식대로 vs에서 실행했을때는 되고여 음 제가 먼가 잘못하는듯 한데 무엇이 틀렸는지 모르겠네여 ;; 무엇일까여?

그리고 혹시 네트워크 활성화 상태서 하는 방법은 모르시져?
2009/04/09
한대성 SSIS 게시판의 공지사항에 있는 글 확인하시면 답 나옵니다. 참고로 사이트 상단의 검색 활용해도 잘 나옵니다..~~^^
네트워크 활성화 상태에서 하는 방법이 무슨 말인지 잘~~~
2009/04/09
이상욱 저희도 이문제 땜시 고민했었는데 한대성 책임님 말씀대로 여기에서 검색 잘 하시면 좋은 tip 얻으실수 있습니다. JOB AGENT 실패 관련해서요... 2009/04/18
반응형

+ Recent posts