Navicat任务不执行的首要原因是Task Scheduler服务未运行;需确认其状态为“正在运行”、启动类型为“自动(延迟启动)”,并使用navicatcmd.exe替代navicat.exe,正确填写“起始于”路径、勾选“不管用户是否登录都要运行”和“使用最高权限运行”,且触发器须手动设置每小时重复间隔并禁用超时终止。
Navicat任务不执行?先确认Task Scheduler服务在运行
任务计划程序根本没启动,是90%“创建了但不跑”的根源。navicat自身没有后台服务,它完全依赖windows的task scheduler服务唤醒并执行命令。如果这个服务停了,哪怕配置再完美,任务也静默失效。
打开services.msc,找到Task Scheduler,状态必须是「正在运行」;启动类型建议设为「自动(延迟启动)」。常见错误现象:0x41301(任务已注册但未启动)、事件查看器里查不到任何Task Scheduler日志、手动右键“运行”也没反应——基本都指向该服务离线。
调用navicatcmd.exe而非navicat.exe,且“起始于”字段必须填对
用navicat.exe在无桌面会话下会卡死(GUI初始化失败),必须改用专为命令行设计的navicatcmd.exe。但Windows任务计划不会自动继承PATH或当前工作目录,漏填或错填起始于(可选)字段会导致cd失败、相对路径失效、找不到配置文件,最终任务返回0x1或直接退出。
-
程序或脚本字段填绝对路径,例如:"C:\Program Files\PremiumSoft\Navicat Premium 16\navicatcmd.exe" -
起始于(可选)字段填其所在目录的绝对路径,例如:C:\Program Files\PremiumSoft\Navicat Premium 16(不能留空,不能填脚本全路径) - 参数示例:
--profile="MyMySQL" --task="DailyBackup"(注意profile名不是连接名,而是连接属性「常规」页里的Profile Name)
权限必须勾选“不管用户是否登录都要运行”+“使用最高权限运行”
默认新建任务勾选的是「只在用户登录时运行」,一旦锁屏、远程断开或以服务方式运行,任务就跳过,连失败日志都不留。更麻烦的是,不勾选「使用最高权限运行」,写入备份目录会报Access is denied。
操作路径:任务属性 → 「常规」页 → 勾选:
- 不管用户是否登录都要运行
- 不保存密码(勾选后出现「更改用户或组…」按钮)
- 点击该按钮,填入当前Windows本地账户全名(如
DESKTOP-ABC\user),再输入密码
别用Microsoft账户配任务,凭据链容易断裂;若仍报0x80070005,说明账户对Navicat安装目录或备份路径缺少NTFS权限,需手动补授权。
触发器设“每小时”必须手动编辑,不能只选“每天”
Windows任务计划对“每小时”有隐藏逻辑:仅在创建向导里选「每天」并设起始时间,是不够的。必须保存后双击任务 → 切换到「触发器」选项卡 → 点「编辑」→ 显式勾选「重复任务间隔」,设为「1小时」,持续时间选「无限期」。
还要进「高级设置」取消勾选「停止任务如果运行超过以下时间」,否则一小时整点没跑完就被强制杀掉——备份或同步中途失败就是这么来的。
“起始于”字段填错、权限没勾全、触发器没微调,这三处出错占所有失败案例的80%以上。它们不报明显错误,只让任务安静消失。


















