web-dev-qa-db-ja.com

SQLエージェントジョブからバッチファイルを実行する際に助けが必要

SQLエージェントジョブからバッチファイルを実行しようとしています。このバッチファイルは、実行される接続コマンドとスクリプトファイルです。コマンドプロンプトから直接アクションを実行できますが、自動化するにはSQLエージェントジョブから実行する必要があります。

起動しようとするたびに、次のエラーが発生します。

"指定されたファイルが見つかりません"

コマンドを設定するときは、[ジョブ]領域のGUIを使用し、[開く]ボタンを使用して、適切なファイルに移動しています。また、サービスをNTユーザーからローカル管理者ユーザーに変更しようとしましたが、最終結果は同じでした。

2
mikey10104

「開く」ボタンは、コマンドウィンドウに大きなスクリプトをインポートするためのものです。これは、以下で説明するように、このタイプのジョブステップには役立ちません。バッチファイルを実行する場合は、次のようにパスとファイル名を入力するだけです。

D:\scripts\DoSomething.bat

または

D:\executables\DoSomething.exe

また、コマンドのタイプを「オペレーティングシステム(CmdExec)」として指定してください。

ステップが実行するように設定されているアカウントが何であっても、バッチファイルまたはプロセスを実行するための権限、およびスクリプトまたはプロセスで使用されるすべてのリソースへのアクセス権が必要です。

また、このタイプのジョブステップの特徴は、1つのコマンドしか実行しないことです。したがって、コマンド入力ボックスに以下を入力すると、

rem This script does something
D:\scripts\DoSomething.bat

最初のコマンドを実行してから停止するため、バッチファイルは実行されません。そのため、「開く」ボタンはCmdExecジョブステップにはあまり役立ちません。

4
Tony Hinkle