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エージェント、Web、または.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は、ホスティングサーバーでWebサービスも公開します。コードを介して、マシンにパッケージを照会し、データベースまたはファイルシステムを介してパッケージを実行し、任意のプログラミングプラットフォームを介してプログラムでパッケージの変数を追加/変更できます。

つまり、「DETEXEC」コマンドを含むローカルバッチファイルを呼び出すようにWebサービスを設定することもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top