TFS迁移至2018Update2后新建构建定义保存报错:BuildFolderId计数器不存在
解决TFS 2015 Update1迁移到2018 Update2后构建定义保存失败的问题
我之前也碰到过类似的迁移后数据库计数器缺失的情况,这个报错的核心原因是TFS 2018的构建系统依赖BuildFolderId这个计数器来生成构建文件夹的唯一ID,但迁移过程中这个计数器没有被正确同步到目标集合数据库里。咱们一步步来修复:
第一步:确认计数器是否真的缺失
登录你的TFS数据库服务器,打开SQL Server Management Studio,连接到TFSSERVER.Tfs_DefaultCollection数据库,执行下面的查询语句:SELECT * FROM tbl_Counter WHERE CounterName = 'BuildFolderId'如果查询结果是空的,那就实锤了——这个计数器确实没创建,得手动补上。
第二步:手动创建缺失的计数器
在同一个数据库里执行这条SQL语句,把BuildFolderId计数器加进去:INSERT INTO tbl_Counter (CounterName, CounterValue, PartitionId) VALUES ('BuildFolderId', 1, 1)这里的
PartitionId默认一般是1,如果拿不准,可以先查一下分区表确认:SELECT * FROM tbl_Partition第三步:重启TFS服务
数据库操作完成后,去服务器的服务管理器里找到Visual Studio Team Foundation Background Job Agent和Visual Studio Team Foundation Server,右键重启这两个服务,确保TFS能加载到数据库的变更。第四步:验证修复效果
回到TFS的Web界面,重新创建构建定义并点击保存,应该就能正常操作了。
注意事项
- 执行任何数据库操作前,一定要先备份你的TFS数据库,避免操作失误导致数据丢失。
- 如果你的TFS有多个集合,每个需要使用构建功能的集合数据库都要检查是否存在这个计数器,重复上面的步骤处理就行。
内容的提问来源于stack exchange,提问作者Simon Mardiné
相关产品推荐
相关产品推荐

