我的计划任务(在Windows Server 2008 R2上(每天早上都"成功"运行,但sqlcmd
的输出不会在输出文件中更新。日志文件将更改以显示批处理文件已运行,但输出文件保持不变。
当我用下面的代码行运行一个.bat
文件时,它运行得很好。.csv
文件将使用最新的查询结果进行更新。
sqlcmd -S SERVERNAME -i my_query.sql -s "," -o c:scriptsMy_queryquery_results.csv -W -h-1
ftp.exe -s:"c:scriptsMy_queryfile_upload.ftp"
有用信息:
- 我以我的用户身份运行计划任务,该用户是一名服务器管理员,可以访问有问题的服务器
- 我已经尝试向用户提供明确的访问权限,以完全控制所涉及的所有文件和文件夹
- 我已尝试将
C:WindowsSystem32cmd.exe
作为带有参数/c C:scriptsMy_querymy_process.bat
的操作运行,以确保整个进程运行 - 任务调度程序在其他任务中运行良好,但在五个类似的进程中也存在同样的问题
无论用户是否登录,任务都配置为运行吗?如果是这样,它将永远找不到您的SQL文件,因为当您以这种方式配置计划任务时,默认工作目录是SYSTEM32。您需要提供SQL文件的完整路径。