BAT 파일에서 DTSX 패키지를 원격으로 실행하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/166239

  •  03-07-2019
  •  | 
  •  

문제

이 명령과 함께 BAT 파일에서 DTSX 패키지를 원격으로 실행하려고합니다.

DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V

이것은 로컬로 제대로 작동하지만 원격으로 실패합니다 (내가 가리키는 기계에 대한 관리자 권한이 있고 SQL 권한도 있습니다) 타임 아웃 오류가 발생합니다 (로그인 시간 초과가 만료 됨).

도움이 되었습니까?

해결책 2

약간의 연구 후에는 DTEXEC를 원격으로 실행하는 것이 불가능한 것처럼 보입니다 (로컬로 실행해야합니다. 원격 실행은 지원되지 않습니다).

이 제한을 극복하기 위해 다음 방법은 광범위하게 구현되는 것으로 보입니다.

  1. DTSX 패키지를 실행하려면 SQL 작업을 설정하십시오.
  2. 작업을 실행하기 위해 저장된 절차를 설정하십시오
  3. BAT 파일에서 ISQL 명령 줄을 사용하여 (원격 실행) 관련 SQL 인스턴스에서 저장 프로 시저를 실행합니다 (시스템 자격 증명이 아닌 SQL 자격 증명 포함)

다른 팁

매우 가능하고 쉽습니다. 상점 절차, SQL 에이전트, 웹 또는 .NET 개발이 필요하지 않습니다. Microsoft가 이것을 제안한 적이 없다는 것에 놀랐습니다.

  1. DTSX 패키지를 실행하려면 SQL Server의 작업을 예약하십시오. 원격 PC에서 수동으로 실행할 때까지 실행되지 않으므로 비활성화하십시오.
  2. 명령을 사용하여 PC에서 작업을 실행하십시오.

schtasks /run /tn mytask [ /s mysqlserver [ /u [domain] user /p password]] /?

참고 : 비밀번호 노출이 마음에 들지 않으면 'psexec'명령을 사용하여 'Schtasks'명령을 실행하십시오 (무료 및 강력한 도구를 다운로드하십시오. http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

SSIS는 호스팅 서버에 웹 서비스를 노출시킵니다. 코드를 통해, 패키지 용 머신을 쿼리하고, 데이터베이스 또는 파일 시스템을 통해 패키지를 실행하고, 원하는 모든 프로그래밍 플랫폼을 통해 프로그래밍 방식으로 패키지의 변수를 추가 / 수정할 수 있습니다.

즉, 'detexec'명령이 포함 된 로컬 배치 파일을 호출하기 위해 웹 서비스를 설정할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top