Navicat 17已彻底移除图形化「计划任务」功能,所有自动化任务必须采用「批处理作业+操作系统调度器」模式;旧版.ntask文件无法导入,--run-task参数已废弃,须改用--execute-job等新指令并严格配置绝对路径、引号及权限。

Navicat 17 不再支持旧版的图形化「计划任务」功能,所有自动化任务必须改用「批处理作业 + 操作系统调度器」模式——不是升级出问题,而是功能被移除了。
Navicat 17 彻底移除了 Scheduled Tasks 图形界面
navicat 16 及更早版本中可见的「计划」菜单、任务编辑器、时间触发配置面板,在 navicat 17 中已被完全删除。官方文档明确说明:该能力已退化为导出脚本 + 外部调度的组合方案。你找不到入口,不是操作错误,是设计如此。
- 右键数据库 → 「备份数据库」向导里,“立即执行”按钮还在,但“安排自动运行”选项已消失
- 连接属性中的「自动重连」「计划执行」等字段全部下线,相关配置项在 config.ini 中也不再被读取
- 即使你从 navicat 16 导出的任务文件(.ntask)拖进 navicat 17,也无法识别或导入
旧任务脚本在 Navicat 17 下执行失败的三大硬性断点
就算你手动保留了旧版生成的 .bat 或 .sh 脚本,直接双击能跑,放进系统调度后也大概率静默失败,原因集中在以下三点:
-
navicat.exe命令行参数变更:--run-task在 17.0+ 中已废弃,必须改用--execute-job或--backup等新指令,且参数格式不兼容(如路径必须绝对,不能含空格未引号包裹) - 密码解密机制断裂:旧版任务依赖 Windows Credential Manager 解密保存的数据库密码;navicat 17 的非交互式执行上下文无法调用该服务,导致
Login failed或Failed to decrypt password - 时区与上下文丢失:旧任务中写的
USE mydb、NOW()、?参数占位符,在 navicat 17 的批处理执行模式下全都不解析——前者被忽略,后者等价于WHERE id = NULL
Windows 任务计划程序里显示“已运行”但无实际效果
这是最典型的假成功现象:任务状态为“已运行”,日志为空,备份文件没生成。根本原因不是 Navicat 没启动,而是它启动后立刻退出,连错误都没来得及打出来。
- 检查
navicat_debug.log是否有记录:若完全没内容,说明任务根本没真正调起navicat.exe进程(常见于路径含空格未加英文双引号) - 「不管用户是否登录都要运行」必须勾选,否则系统账户(如 SYSTEM)无法访问用户级密钥库,凭据解密失败
- 「使用最高权限运行」必须启用,否则写入
C:\Program Files\或D:\backup\等路径时会被 UAC 拦截,报Can't create/write to file
真正能跑通的路径只有一条:删掉所有旧任务,用 navicat 17 的「导出为批处理文件」重新生成脚本,再配好 mysql_config_editor 或 .pgpass,最后在任务计划程序里逐项核对「程序或脚本」「起始于」「添加参数」三处绝对路径与引号。任何环节跳过,都会卡在无声失败上。











