请问,为什么用xp_cmdshell 执行一个批处理不执行?
因为以前用好压,压缩程序文件,利用window的计划任务,每天自动备份到 远程的服务器上。后来windows计划任务出现了故障,就想到了用sql server的作业调度来做。
结果数据库的异地备份批处理,作业调度成功了。但是程序备份的批处理,不成功啊。手工双击这个批处理文件,是可以执行成功的,批处理文件本身没有问题。
作业的脚本如下:
EXECUTE master..xp_cmdshell 'd:\备份\progbak.bat'
看作业的日志,执行成功的,并没有错误提示,但是就是没有copy过去的。
.bat里面的内容如下:
d:\备份\文件1_BussAndClient.lnk
d:\备份\文件2_BussAndClient.lnk
d:\备份\文件3_BussAndClient.lnk
d:\备份\文件4_BussAndClient.lnk
即使在作业中我这样写:
EXECUTE master..xp_cmdshell 'd:\备份\文件1_BussAndClient.lnk'
也是无法执行压缩远程备份的。
谢谢大家,请求大家的帮助,不知道这个是什么原因。同样类似的写法,数据库的异地备份就是可以的。