如何在本地TFS2015 Update3数据库中区分TFS组与TFS团队?
区分TFS 2015 Update3中的TFS组与团队(数据库层面)
我之前排查类似问题时也踩过这个坑——只查[Tfs_Configuration].[dbo].[tbl_Group]确实找不到明确的区分属性,因为TFS团队本质上是带有特殊关联配置的TFS组,得结合集合级的表来判断:
核心区分表:
[Tfs_你的集合名].[dbo].[tbl_Team]
所有TFS团队都会在这个集合级的表中拥有一条专属记录,而普通TFS组不会在这里出现。团队的TeamId字段直接对应tbl_Group中的GroupId,这是关联判断的关键。实用查询示例
你可以用下面的SQL语句直接区分目标组/团队,记得把Tfs_DefaultCollection替换成你的实际集合名称:SELECT g.GroupName, g.GroupId, CASE WHEN t.TeamId IS NOT NULL THEN 'TFS团队' ELSE '普通TFS组' END AS 实体类型 FROM [Tfs_Configuration].[dbo].[tbl_Group] g LEFT JOIN [Tfs_DefaultCollection].[dbo].[tbl_Team] t ON g.GroupId = t.TeamId WHERE g.GroupName IN ('Team BAM', 'TfsGroup')额外验证点(辅助判断)
如果你想进一步确认,还可以查看tbl_Group的ScopeType和ScopeId:- TFS团队的
ScopeType固定为Project(对应数值2),且ScopeId是所属项目的ProjectId; - 普通TFS组的
ScopeType可能是Server(服务器级,数值0)、Collection(集合级,数值1)或Project(项目级普通组,数值2),但不会在tbl_Team中有对应记录。
- TFS团队的
总结来说,结合配置库的tbl_Group和集合库的tbl_Team做关联查询,是最准确的区分方式。
内容的提问来源于stack exchange,提问作者Morné Kruger
相关产品推荐
相关产品推荐

