Naz*_*eem 5 sql-server-2008 sql-server-agent jobs
我有一个 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:退出作业报告失败
一些事实:
小智 3
看起来您需要将作业的第二步配置为以域帐户身份运行,该帐户具有写入\KWS2-WEB-SERVER\Share\Reports\Uur共享的权限以及对C:\Reports\的读取权限Energie\Uur文件夹。
您首先需要向 SQL Server 添加凭据。在“安全”>“凭据”文件夹中,您需要右键单击并选择“新建凭据...”,填写该信息并单击“确定”。
完成后,您将需要创建一个使用此凭据的代理。在SQL Server 代理 > 代理 > 操作系统 (CmdExec)文件夹中,您需要右键单击并选择新建代理...使用您之前创建的凭据。
现在,您可以配置第二个作业步骤以使用您刚刚使用作业步骤页面的“运行方式:”下拉列表创建的代理。
归档时间: |
|
查看次数: |
63523 次 |
最近记录: |