SQL Server维护计划备份到网络共享老是失败怎么办
问题
按网上的教程建好了维护计划,备份到本机硬盘每天正常出 .bak 文件。改成备份到NAS的网络共享路径,就老是失败;有人说是权限,有人说是路径,到底哪里的问题?
最常见原因
维护计划不是用"你"的身份在跑,而是用 SQL Server Agent 代理服务的账户在跑。 这个账户通常是本地账户,访问不了网络共享(过不了网络身份认证),所以本机备份好好的、一写共享就失败。次要原因:路径写成了映射盘符(Z:),代理服务的会话里根本看不到这个映射。
分步解决
第一步,看真实报错,别猜。SSMS →「SQL Server 代理」→「作业」→ 找到对应的维护计划作业 → 右键「查看历史记录」。报错大致分两类:“登录失败/拒绝访问”=权限;“无效的路径”=写法。
第二步,检查路径写法。备份目标必须用 UNC 路径:\\NAS的IP或主机名\共享名\备份目录,不要写 Z:\备份目录——映射盘是登录会话的东西,代理服务看不到。
第三步,解决权限(三选一):
- 把 SQL Server Agent 服务的运行账户改成有权限访问该共享的域账户(Windows「服务」里改,改完重启服务);
- 工作组环境:在NAS上建一个和代理服务账户同名同密码的账户,并给共享目录写权限;
- 在作业里使用配置好的代理账户(更规范,配置略繁琐)。
第四步,更省心的替代架构(推荐):备份仍然落本地盘,另用 Windows 任务计划 + robocopy 把 .bak 定时同步到NAS。好处是数据库备份不依赖网络——NAS宕机、断网都不影响当晚备份本身;同步失败也只是少一份异地副本,第二天补上即可。
第五步,验证两遍:改完后右键作业「开始作业」手动跑一次,去共享里确认文件生成;再看下一个自动执行日的历史记录,确认定时也正常。
怎么预防
- 备份要有"体检":每周看一眼备份目录最新文件日期,或给备份目录加个容量/文件监控告警,失败超过一天就该有人知道;
- 数据库服务器到NAS的网络保持稳定,交换机端口、网线别将就;
- 记住备份的完整链条是"本地成功 + 离机一份",两个环节都要有人盯。
备份落NAS的整套方案和告警,贵州诚鑫致达科技给客户配过多次,要聊可以搜"诚鑫致达"。
来源:https://learn.microsoft.com/zh-cn/sql/relational-databases/maintenance-plans/maintenance-plans?view=sql-server-ver17 https://www.cnblogs.com/yaopengfei/p/15979826.html https://blog.csdn.net/XUForVic/article/details/124477126