Navicat 16 备份任务无法直接注册到Windows计划任务,必须通过navicatcmd.exe(需GUI预存.ncb文件)或原生命令如mysqldump/pg_dump实现;后者更稳定、易维护、可脚本化。

Navicat 16 备份任务本身不能直接注册到 Windows 计划任务
Navicat 16 的「自动运行」功能(如定时备份)依赖其后台服务 Navicat Monitor Agent 或前台程序常驻,**不生成独立可调度的命令行入口**。Windows 计划任务需要一个明确的、能脱离 GUI 运行的可执行命令,而 Navicat GUI 版本默认不提供裸命令行备份接口(navicat.exe --backup ... 这类参数不存在)。
真正可行的路径只有两条:用 Navicat 自带的命令行工具 navicatcmd.exe(需单独启用),或改用导出 SQL 文件 + mysqldump/pg_dump 等原生工具——后者更稳定、可控、易排错。
使用 navicatcmd.exe 执行备份并接入计划任务
navicatcmd.exe 是 Navicat 安装目录下的隐藏命令行工具(Navicat 16.0.14+ 默认包含,但未文档化)。它支持连接、导出、导入等操作,但要求提前在 Navicat GUI 中保存好连接和备份配置(即“备份文件”*.ncb)。
- 确认路径存在:
C:\Program Files\PremiumSoft\Navicat 16 Premium\navicatcmd.exe(路径依安装版本和类型略有不同,Premium/MySQL/PostgreSQL 版本对应不同主程序名) - 备份前必须在 GUI 中创建并保存一个备份任务,生成后缀为
.ncb的文件(例如D:\backups\prod_db_backup.ncb) - 命令格式示例(需在计划任务中作为「程序或脚本」填入):
navicatcmd.exe -batchrun "D:\backups\prod_db_backup.ncb"
- 务必在计划任务的「起始于」字段填入
navicatcmd.exe所在目录(否则可能因找不到依赖 DLL 报错0xc000007b或找不到插件) - 勾选「不管用户是否登录都要运行」时,必须启用「使用最高权限运行」,且账户需有读取
.ncb和写入备份路径的权限
Windows 计划任务配置关键项
直接在「任务计划程序库」中新建基本任务即可,但以下几处极易出错:
- 「触发器」里不要选「登录时」——GUI 环境未加载,
navicatcmd.exe会卡住或静默失败;推荐「按预定时间」或「每隔 X 小时」 - 「操作」→「程序或脚本」填完整路径:
C:\Program Files\PremiumSoft\Navicat 16 Premium\navicatcmd.exe;「添加参数」填-batchrun "D:\backups\prod_db_backup.ncb";「起始于」填C:\Program Files\PremiumSoft\Navicat 16 Premium\ - 「常规」选项卡中必须勾选「使用最高权限运行」,否则访问注册表或网络驱动器时权限不足
- 测试时先手动右键「运行」,再查看「历史记录」标签页里的具体错误码(常见如
0x1表示路径错,0x2表示找不到.ncb,0xc0000142表示 DLL 加载失败)
比 navicatcmd 更可靠的替代方案
如果你的数据库是 MySQL 或 PostgreSQL,放弃 navicatcmd.exe 直接用原生命令更省心:
- MySQL:用
mysqldump.exe(MySQL Server 自带)配合批处理 + 计划任务,支持压缩、分卷、自动清理旧备份 - PostgreSQL:用
pg_dump.exe(PostgreSQL bin 目录下),同样可脚本化,且无 GUI 依赖 - 两者都可通过 Windows 计划任务调用
cmd.exe /c "D:\scripts\backup_mysql.bat",完全脱离 Navicat 运行 - Navicat 的价值在于可视化建模和临时查询,而非长期自动化运维——把备份逻辑移出 GUI,故障面更小,日志更清晰,权限更明确
真正麻烦的不是怎么加进计划任务,而是 .ncb 文件隐式依赖 GUI 配置、无法版本控制、升级 Navicat 后容易失效。原生命令一行一意,改个密码只动一行脚本,不用重新点十几次界面。


















