You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TFS 2012至TFS 2017非原地升级:操作流程性质存疑

关于TFS 2012到2017非原地升级的正规流程说明

其实你提到的「分离-备份-恢复-附加」流程,就是官方认可的正规非原地升级方式,之所以看起来像迁移,是因为跨服务器的升级本质上就是通过迁移核心数据(项目集合数据库)来完成版本升级的——毕竟TFS的所有核心数据(包括源代码控制的仓库、权限等)都存在项目集合数据库里,跨版本升级的核心就是把旧版本的数据库升级到新版本的 schema 和数据格式。

结合你只用源代码控制、项目数量少的场景,我把这个正规流程拆解成更清晰的步骤,帮你理清:

准备工作

  • 确保新服务器的TFS 2017已经安装配置完成,并且配套的SQL Server版本符合要求(TFS 2017需要SQL Server 2012 SP3及以上,推荐用2016版本,避免兼容性问题)
  • 检查旧TFS 2012服务器的状态:没有未完成的仓库维护、没有挂起的操作,确保数据库处于健康状态

具体操作步骤

1. 分离旧服务器的项目集合

  • 打开旧服务器的「Team Foundation Server Administration Console」
  • 左侧导航栏选中「项目集合」,找到你要升级的目标集合
  • 点击右侧的「分离集合」,跟着向导走完流程——这一步会把集合从TFS服务中移除,但数据库还留在SQL Server里,这样备份出来的数据更干净,不会有数据不一致的风险

2. 备份集合数据库

  • 打开旧服务器的SQL Server Management Studio(SSMS)
  • 找到对应的项目集合数据库(默认命名是TFS_<你的集合名>)
  • 右键数据库 → 「任务」→「备份」,完成完整备份(如果有需要,也可以备份事务日志)
  • 把备份文件复制到新服务器能访问的共享文件夹或者本地路径

3. 在新服务器恢复数据库

  • 打开新服务器的SSMS
  • 右键「数据库」→「还原数据库」,选择「源设备」并找到你复制过来的备份文件
  • 目标数据库名称可以和旧的保持一致(减少后续操作的麻烦),勾选「覆盖现有数据库」(如果新服务器上没有同名数据库的话)
  • 等待恢复完成,确认数据库处于「在线」状态

4. 附加并自动升级项目集合

  • 打开新服务器的「Team Foundation Server Administration Console」
  • 左侧导航栏选中「项目集合」,点击右侧的「附加集合」
  • 向导会自动检测到你刚恢复的旧版本数据库,选中它继续
  • 接下来TFS会自动执行核心的升级操作:把2012版本的数据库schema和数据格式升级到2017版本,这个过程不需要你手动干预,耐心等待完成即可
  • 升级完成后,验证集合是否正常加载,登录TFS web端或者客户端,检查源代码仓库的文件、权限是否都正常

额外说明

因为你只用源代码控制功能,项目又少,这个流程会非常顺畅,不需要处理工作项、构建服务这些复杂功能的兼容性问题。而且这种非原地升级的方式比原地升级更安全——旧服务器的环境完全保留,直到你确认新服务器一切正常后再停用旧服务,不会影响业务。

内容的提问来源于stack exchange,提问作者user441521

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:48:40