Navicat自动备份任务卡在“已停止”时不能直接点“运行”,需在taskschd.msc中重置凭据、勾选“不管用户是否登录都要运行”、配置目录与目标路径权限、改用免密认证,并验证连接上下文及最高权限选项。
任务状态显示“已停止”时不能直接点“运行”
navicat 的自动备份任务一旦卡在「已停止」状态,右键菜单里的「运行」基本无效——这不是 navicat 界面按钮失灵,而是 windows task scheduler 已拒绝加载当前凭据,底层进程根本没被拉起。此时强行点击只会触发一次空转,日志里留下 0x41301 或 0xc0000022 错误,不产生任何备份文件。
真正要做的,是回到 taskschd.msc(任务计划程序)里重置整个执行上下文:
- 先确认
Task Scheduler服务正在运行:打开services.msc,找到该服务,状态必须为「正在运行」;若刚重启过,等 10 秒再操作 - 定位到对应任务(通常在
Task Scheduler Library → Navicat下),右键 →「属性」→「常规」选项卡 - 勾选「不管用户是否登录都要运行」,取消「只在用户登录时运行」
- 点「更改用户或组…」,输入完整用户名(如
DOMAIN\user或PCNAME\user),点「检查名称」确保解析成功,再输新密码 - 务必点两次「确定」:第一次保存凭据,第二次关闭窗口——少点一次,凭据不会写入
重新执行前必须验证三处隐性权限断点
即使凭据填对了,任务仍可能静默退出,错误码常为 0xC0000022 或日志里只有「任务已启动,然后立即结束」。这不是密码错,而是权限链断裂:
-
navicat.exe所在目录(如C:\Program Files\PremiumSoft\Navicat Premium 16\)需对运行用户有「读取+执行」权限;右键文件夹 →「属性」→「安全」→ 编辑 → 添加用户并勾选对应权限 - 备份目标路径(如
D:\backup\)需有「写入+修改」权限;特别注意:若路径含%USERPROFILE%(比如%USERPROFILE%\Documents\),系统服务默认无权访问,必须换绝对路径 - 如果 Navicat 连接里保存了数据库密码,非交互式账户无法调用 Windows Credential Manager 解密——此时必须改用免密方式(如 IP 白名单 +
mysql_native_password认证),否则会卡在 Authentication failed
手动模拟命令行可快速定位失败环节
不要依赖界面反复试错。把任务实际执行的命令抠出来,在 CMD 里手动跑一次,能立刻暴露问题根源:
- 打开任务属性 →「操作」选项卡 →「编辑」→ 复制「程序或脚本」和「添加参数」两栏内容
- 粘贴进 CMD,注意检查所有路径是否用英文双引号包裹(如
"C:\Program Files\PremiumSoft\Navicat Premium 16\navicat.exe");若有空格未引号,会报Code 1 - 观察输出:若提示
'mysqldump' 不是内部或外部命令,说明 Navicat 没配好客户端工具路径;若提示Access denied,则是数据库账号缺LOCK TABLES或SELECT权限 - 成功执行后,生成的 .psc 文件若仍损坏,大概率是断电导致写入中断——此时不能还原,只能用文本编辑器扫尾部明文 SQL 抢救(见另一篇关于 .psc 恢复的实操)
跨服务器备份中断后恢复执行要重验连接上下文
Navicat 计划任务不是独立脚本,它依赖当前用户会话里的网络解析、SSPI 认证和环境变量。远程服务器上中断后,光重填凭据不够:
- 确保连接配置里填的是可跨网络解析的主机名(如
db-prod.internal),而不是localhost或127.0.0.1;后者在服务账户下无法路由 - 若用了 Windows 身份认证(SSPI),服务账户必须属于同一域且有对应 SPN;否则改用 SQL 账号 + 明文密码(不推荐)或数据库层 IP 白名单
- 检查 Navicat「连接属性 → 高级」里「MySQL 路径」是否指向真实可用的
mysqldump.exe;路径含空格必须加引号,且该 exe 对运行用户有执行权
最易被忽略的是:任务计划程序里「使用最高权限运行」没勾选,尤其当管理员创建任务、普通用户远程登录查看时,权限继承会失效,导致静默拒绝。


















