小编Naz*_*eem的帖子

如何在 SQL 代理作业中成功运行批处理文件?

我有一个 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
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的作业时,它挂在第二步。状态只停留在“执行中”。

这是我在步骤中声明的行(要执行的 bat 文件的位置):

cmd.exe /c "C:\Reports\rapport_uur_copy.bat"
Run Code Online (Sandbox Code Playgroud)

我的工作设置如下:

第1步

类型:操作系统 (CmdExec) 成功:转到下一步

On Failure:退出作业报告失败

第2步

类型:操作系统 (CmdExec)

成功时:辞职报告成功

On Failure:退出作业报告失败

一些事实:

  • 我对网络目录有读/写权限
  • 我以管理员帐户(登录用户,默认)运行这些步骤
  • 步骤 1 成功
  • 我运行 Windows Server 2008 R2 标准版
  • 我有 SQL Server 2008 R2
  • 当我从 cmd 手动运行脚本时,它可以工作(在管理员帐户下)。

sql-server-2008 sql-server-agent jobs

5
推荐指数
1
解决办法
6万
查看次数

标签 统计

jobs ×1

sql-server-2008 ×1

sql-server-agent ×1