2

robocopy を実行して、SQL サーバーからバックアップ ドライブにファイルをコピーするジョブがあります。

このジョブは CmdExec タイプのジョブを実行して、robocopy を実行するバッチ ファイルを呼び出します。私の問題は、ファイルは正常にコピーされますが、エラーレポートが登録されないことです。ソースファイルを偽のドライブに変更してテストしました。それでもジョブの成功が報告されます。robocopy のみが表示され、ツールを実行すると成功が報告されるように絞り込みました。たとえば、バッチ ファイルに「robocopy」と入力するだけでも、成功が報告されます。

これは、正当なエラーが発生したときにエラーを発生させるために実行しているコードです。

robocopy "C:\backup\" "D:\backup" SET /A errlev="%ERRORLEVEL & 24%" EXIT /B %errlev%

何かご意見は?

4

3 に答える 3

0

私は見てみましょう: ss64 の robocopy のページ

また、初めて見たのはRoboCopy GuIです。期待どおりに機能するコマンドラインを作成するのに役立つかもしれません。

ああ、SQLがこの質問の重要な部分であることについて、私は間違っているかもしれません。あなたの質問に正確に答えているように見えるSqlTeam.comの本当にきちんとしたガイドについては、こちらを参照してください。

于 2010-06-28T14:43:20.477 に答える
0

ジョブ ステップで、[失敗時のアクション] で [失敗を報告するジョブを終了する] が選択されていることを確認します。また、「成功したコマンドのプロセス終了コード」の下に 0 があることを確認してください。Maassql が言及しているように、成功した「エラー コード」が他にもいくつかありますが、期待どおりに動作するまで 0 から始めてから追加します。非エラーとしてカウントする追加コードで。

これは SQL 2008 を想定しています。別のバージョンを使用している場合は、プロンプトが異なる場合があります。

于 2010-06-28T14:49:06.563 に答える
0

これが古い投稿であることは知っていますが、

あなたのコードは動作しているように見えますが、バッチ ファイルにラップする必要があります。その場合、SQL は直接 robocopy ではなくバッチ ファイルを呼び出す必要があります。

ここで答えを見つけました

http://weblogs.sqlteam.com/robv/archive/2010/02/17/61106.aspx

于 2010-12-01T22:52:33.940 に答える