SQL Server 에이전트를 통해 예약 된 작업에서 배치 파일을 실행하는 방법


12

SQL Server 2008 R2의 SQL Server 에이전트 작업 내에서 (Windows) 배치 파일을 실행하려고합니다. 작업 단계에서 새 단계를 작성하고 해당 유형을 "운영 체제 (CmdExec)"로 설정하십시오. 처음에는 "명령"필드에 배치 파일 이름 만 넣으려고했습니다. 파일을 찾을 수 없다는 오류가 발생합니다.

그런 다음 cmd.exe c : \ test.bat를 시도했습니다.

이것은 시작되지만 완료되지는 않습니다 (실제로 작동하는 것처럼 보이지 않습니다).

cmd.exe "C : \ test.bat"라는 배치 파일 이름을 따옴표로 묶어 보았지만 아무런 차이가 없습니다.

이것을 작동시키는 마법의 조합은 무엇입니까?


"파일을 찾을 수 없음"오류가 발생했을 때 전체 경로를 사용하고 있었습니까? 워크 스테이션뿐만 아니라 실행중인 서버에서도 경로가 유효합니까? 배치 파일 내 경로가 절대적입니까?
모든 거래의 존

예, 전체 경로를 사용하고 있습니다. 실행중인 서버의 올바른 경로입니다. 에코> C : 배치 파일은 간단한 테스트에 불과하다 \ TEMP \ itworks.txt
폴 Mrozowski

답변:


11

메모리가 올바르게 작동하는 경우 :

cmd.exe /c "c:\test.bat"

경로 나 파일 이름에 공백이 있으면 따옴표가 필요합니다


1

Job Agent Service에 사용 된 권한도 확인하십시오. 서비스를 실행하는 사용자에게 파일을 볼 수있는 권한이 없을 수 있습니다.

행운을 빕니다


0

해당 드라이브 및 폴더 위치에서 배치 파일을 실행할 권한이 있는지 확인하십시오.

수동으로 실행할 때는 자격 증명이 사용되지만 SQL 에이전트가 자동으로 실행할 때는 에이전트의 자격 증명과 권한이 사용됩니다.


0

일만 "c:\test.bat"할거야


1
안녕하세요. 사이트에 오신 것을 환영합니다. 대답은 유용 할 수 있지만 질문의 명령이 효과가없는 동안 왜 이것이 작동하는지에 대한 자세한 내용을 포함하는 것이 좋습니다.
톰 V - topanswers.xyz 시도
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.