Stackoverflow ユーザーの皆様へ
特定のレポートを PDF ファイルで生成し、その PDF をネットワーク ディレクトリにコピーしてから、ソース ディレクトリの PDF ファイルを削除する SQL エージェント ジョブがあります。
SQL ジョブは 2 つのステップで構成されています。 1. レポートを生成します。 2. レポートをネットワーク上の場所にコピーします。
ステップ 2 では、pdf ファイルのコピーと削除を処理するバット ファイルを作成しました。
バットファイルは次のとおりです。
set source_dir=C:\Reports\Energie\Uur
set dest_dir=\\KWS2-WEB-SERVER\Share\Reports\Uur
C:\Windows\System32\Robocopy.exe %source_dir% %dest_dir% /MOV /Z
ただし、ジョブを実行すると、2 番目のステップでハングします。ステータスは「実行中」のままです。
これは、ステップで述べた行です (実行するバットファイルの場所):
cmd.exe /c "C:\Reports\rapport_uur_copy.bat"
私のジョブ設定は次のとおりです。
ステップ1
タイプ: オペレーティング システム (CmdExec) 成功した場合: 次の手順に進みます
失敗時: 失敗を報告するジョブを終了します
ステップ2
タイプ: オペレーティング システム (CmdExec)
成功時: 成功を報告するジョブを終了します
失敗時: 失敗を報告するジョブを終了します
いくつかの事実:
- ネットワーク ディレクトリに対する読み取り/書き込み権限があります
- 管理者アカウント (ログイン ユーザー、デフォルト) として手順を実行します。
- ステップ 1 は成功します
- Windows Server 2008 R2 Standard を実行しています
- SQL Server 2008 R2 を使用しています
- cmd から手動でスクリプトを実行すると、(管理者アカウントで) 動作します。
前もって感謝します!