ServerA调用ServerB定时任务报错:系统找不到指定文件
排查建议
检查schtasks路径的系统重定向问题
如果SSIS包以32位模式运行,Windows会自动将C:\Windows\System32重定向到C:\Windows\SysWOW64,该目录下的schtasks.exe可能无法正常执行远程命令。尝试将命令中的路径替换为C:\Windows\Sysnative\schtasks.exe,即执行:"C:\Windows\Sysnative\schtasks.exe" /run /s ServerB /tn "TaskName"验证远程任务计划的权限与连通性
在ServerA的命令行执行schtasks /query /s ServerB,如果同样报错,说明ServerA的执行账号没有访问ServerB任务计划的权限,或者远程服务连通性异常:- 确认执行命令的账号(包括SSIS包的运行账号)是否在ServerB的本地管理员组,或拥有任务计划程序的操作权限;
- 用
sc \\ServerB query Schedule检查ServerB的Task Scheduler服务是否正常运行。
确认任务名称的准确性
故障恢复后ServerB上的任务可能存在名称或路径变更:- 检查任务名称的大小写、空格、特殊字符是否与命令中完全一致;
- 如果任务位于自定义文件夹下,需使用完整路径格式,比如
/tn "\TaskFolder\TaskName"。
替换服务器名为IP地址测试
若DNS解析在故障恢复后出现异常,尝试将命令中的ServerB替换为其IP地址,排除名称解析问题:"C:\Windows\System32\schtasks.exe" /run /s 192.168.x.x /tn "TaskName"检查SSIS包的执行上下文
- 若SSIS包通过SQL Server代理运行,确认代理服务账号的权限是否在故障恢复后被重置;
- 检查代理作业的执行选项是否启用了使用32位运行时,如果是,需调整为64位模式,或使用前面提到的
Sysnative路径。
内容的提问来源于stack exchange,提问作者SomekindaRazzmatazz
相关产品推荐
相关产品推荐

