Navicat 17 不支持后台定时备份,已移除图形化计划任务功能,仅能导出.bat/.sh脚本交由系统调度器执行;必须使用navicatcmd.exe(需手动安装命令行工具组件)、配置绝对路径、启用任务历史记录并查看日志确认“Export completed”才算成功。

Navicat 17 根本不支持后台自动执行定时备份任务——它没有内置调度器,也没有常驻进程,所谓“定时”只是导出脚本后依赖 Windows 任务计划程序(或 cron)触发,且必须满足特定会话与权限条件才能跑通。
Navicat 17 已移除图形化计划任务入口
你找不到「计划」菜单或「自动运行」配置面板,不是操作遗漏,而是官方彻底移除了该功能。Navicat 17 的设计逻辑是:只生成批处理(.bat)或 Shell 脚本(.sh),所有时间控制交由操作系统调度器接管。
- 右键数据库 → 「备份数据库」→ 最后一步必须取消勾选「立即执行」,勾选「保存为批处理文件」
- 生成的
.bat文件本质是调用navicat.exe --backup "ConnName" "dbname" "D:\path\file.sql",不是独立可调度任务 - 若直接双击该脚本能成功,但放进任务计划里失败,说明问题出在调度环境,而非 Navicat 配置本身
任务计划程序里“已运行”但没备份文件?查历史记录里的退出码
Windows 任务计划程序默认不记录详细日志,静默失败是常态。必须手动启用历史记录,再看真实错误码:
- 打开
taskschd.msc→ 找到你的任务 → 右键「属性」→ 「历史记录」选项卡 → 勾选「启用该任务的历史记录」 - 等一次预定时间过去 → 回来点「查看」→ 「历史记录」→ 查最后几条的「操作代码」
-
0x1:找不到navicat.exe或路径含空格未加英文双引号(如"C:\Program Files\Navicat\navicat.exe") -
0xC0000022:权限拒绝,常见于navicat.exe在Program Files下,且任务未勾选「使用最高权限运行」 -
0x41301:用户未登录或密码过期,即使勾了「不管用户是否登录都要运行」,也可能因组策略拦截
必须用 navicatcmd.exe,不能用 navicat.exe
Navicat 17 自动化任务若想稳定后台运行,唯一可行路径是使用专用命令行工具 navicatcmd.exe,但它需要额外安装和严格配置:
- 安装时必须手动勾选「Command Line Tools」组件,否则
navicatcmd.exe不会被释放 - 路径必须写绝对路径(如
C:\Program Files\PremiumSoft\Navicat Premium 17\navicatcmd.exe),不能依赖PATH - 任务属性中必须设为「只在用户登录时运行」,而非「不管用户是否登录」——后者会让进程落入 Session 0,无法解密已保存的连接密码
-
.nbi作业文件路径不能含中文、空格或全角字符;推荐存为C:\NavicatJobs\daily.nbi这类纯英文路径 - 加
-log "C:\temp\navicatcmd.log"参数强制输出日志,exit code完全不可信,只有日志里出现Export completed才算真成功
最易被忽略的一点:navicatcmd.exe 启动后不会报错退出,但也不会生成任何输出——它可能加载 .nbi 失败后直接静默跳过,而任务历史里只显示「已完成」。不看日志,你永远不知道备份有没有真正发生。


















