亲爱的 Stackoverflow 用户,
我有一个 SQL 代理作业,它在 PDF 文件中生成特定报告,然后将 PDF 复制到网络目录,然后删除源目录中的 PDF 文件。
SQL 作业包括 2 个步骤: 1. 生成报告 2. 将报告复制到网络位置。
对于第 2 步,我制作了一个 bat 文件,用于处理 pdf 文件的复制和删除。
bat文件如下:
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
但是,当我运行作业时,它会挂在第二步。状态只是停留在“正在执行”。
这是我在步骤中声明的行(要执行的 bat 文件的位置):
cmd.exe /c "C:\Reports\rapport_uur_copy.bat"
我的工作设置如下:
第1步
类型:操作系统 (CmdExec) 成功时:转到下一步
On Failure:退出作业报告失败
第2步
类型:操作系统(CmdExec)
成功时:辞职报告成功
On Failure:退出作业报告失败
一些事实:
- 我对网络目录有读/写权限
- 我以管理员帐户(登录用户,默认)运行这些步骤
- 第 1 步成功
- 我运行 Windows Server 2008 R2 标准版
- 我有 SQL Server 2008 R2
- 当我从 cmd 手动运行脚本时,它可以工作(在管理员帐户下)。
提前致谢!