我有一个运行robocopy的工作,将文件从SQL服务器复制到备份驱动器。
作业运行CmdExec类型作业以调用运行robocopy的批处理文件。我的问题是虽然文件复制得很好但是错误报告没有注册我通过将源文件更改为虚假驱动器来测试这个。它仍然报告工作成功。我把它缩小到它只看到robocopy,当它运行时,工具是报告成功。例如如果我只在批处理文件中输入“robocopy”,它仍会报告成功。
以下是我正在运行的代码尝试在发生错误的错误时导致错误:
robocopy“C:\ backup \”“D:\ backup” SET / A errlev =“%ERRORLEVEL& 24%” EXIT / B%errlev%
有什么想法?
答案 0 :(得分:0)
我会看一下:ss64's page on robocopy
另外,我第一次看到这个:RoboCopy GuI。打赌它可能会帮助您生成按预期的命令行。
哦,也许我错了sql是这个问题的重要部分。请参阅此处,了解SqlTeam.com上的一个非常简洁的指南,看起来完全可以回答您的问题?
答案 1 :(得分:0)
在您的工作步骤中,检查以确保您在“失败操作”中选择了“退出作业报告失败”。另外,在“处理成功命令的退出代码”下,确保你有0.还有一些其他成功的“错误代码”,正如Maassql提到的那样,但我会从0开始,直到你按预期工作,然后添加在您想要计入非错误的附加代码中。
这是假设SQL 2008.如果您使用的是其他版本,则提示可能会有所不同。
答案 2 :(得分:0)
我知道这是一个老帖子,但是
您的代码似乎有效,但必须包装在批处理文件中,然后sql需要直接调用批处理文件而不是robocopy
在这里找到答案
http://weblogs.sqlteam.com/robv/archive/2010/02/17/61106.aspx