TFS 2015.3每日计划数据库备份频繁失败求助
解决TFS 2015.3数据库计划备份频繁失败的问题
我之前处理过好几起TFS备份到共享目录失败的案例,结合你给出的错误信息(写入共享目录失败,错误码1359,SQL异常3202),咱们一步步排查可能的原因和解决办法:
1. 优先检查共享目录的权限配置
TFS的备份作业依赖两个关键账户的权限,缺一个都可能失败:
- TFS服务账户(比如默认的
TFSService):这个账户是TFS配置控制台执行备份计划的身份,必须对目标共享目录\\XASDC\public\DASC\IT\BACKUPSQL\XXXXX1234\TFS\拥有完全控制权限——注意是共享权限+NTFS权限都要设置,很多时候只配置了共享权限,忽略了NTFS权限导致写入失败。 - SQL Server服务账户(比如默认的
MSSQLSERVER):因为实际的数据库备份写入操作是SQL Server执行的,这个账户同样需要对该共享目录有写入权限。别搞混了,这两个账户可能不是同一个,必须分别验证。
验证方法:
- 用
runas /user:域名\账户名 cmd打开命令行,切换到对应的服务账户,然后尝试在共享目录下创建、写入、删除一个测试文件,如果操作失败,直接说明权限不足。
2. 检查路径长度是否超限
Windows默认的最大路径长度是260字符,你给出的备份文件名Tfs_CollectionA_9859957732898727191F.bak加上前面的共享路径,很可能超过了这个限制。
- 把完整路径复制到记事本,数一下总字符数,如果超过260,建议缩短共享目录的层级或名称(比如把
XXXXX1234改成更短的名字),这比启用Windows长路径支持更稳妥,毕竟TFS 2015对长路径的兼容性不算好。
3. 排查网络与共享稳定性
如果权限和路径都没问题,那可能是共享目录所在服务器的网络问题:
- 手动在TFS服务器上访问共享目录,反复测试创建文件,看是否偶尔会失败,排查是否存在网络波动、SMB端口(445)被防火墙拦截,或者共享服务器的磁盘空间不足。
- 检查共享服务器的事件日志,看有没有相关的共享访问错误记录。
4. 排除第三方程序干扰
杀毒软件的实时扫描、备份软件的独占锁,都可能在备份过程中锁定目标文件,导致写入失败:
- 临时关闭TFS服务器和共享服务器上的杀毒软件实时保护,执行一次手动备份,看是否能成功。如果成功了,就把备份目录加入杀毒软件的排除列表。
5. 验证本地备份是否正常
如果以上都排查完还是失败,可以先把备份路径改成TFS服务器的本地目录(比如D:\TFS_Backups),执行测试备份:
- 如果本地备份成功,说明问题完全出在共享目录的配置上;
- 如果本地也失败,那可能是SQL Server数据库本身有问题,需要用
DBCC CHECKDB命令检查数据库的一致性,排查是否存在损坏。
内容的提问来源于stack exchange,提问作者Chirag_dhoopad
相关产品推荐
相关产品推荐

