如何在TFS中恢复系统默认查询”已指派给我”的设置(TFS 2013)

当开发人员在TFS2013中修改默认的'已指派给我'查询后遇到超时问题,无法恢复初始设置。此问题在TFS2017中已得到改善,但在2013版本中需要直接操作数据库来解决。微软TFS产品组提供了修复方案,涉及查找用户ID、项目ID并删除特定查询记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

故事是这样开始的,一天开发人员求助说,在浏览器中修改了系统默认的工作项查询“已指派给我”的后,发现这个查询每次都提示超时,并且没有办法恢复到初始的设置状态,因为出现超时提示以后,查询编辑器就无法使用,如下图:

找遍了所有可以编辑工作项查询的工具,Visual Studio, Eclipse都没有看到可以编辑系统默认查询的功能。即使在浏览器中使用“另存为”的方法把“已指派给我”保存为另外一个查询,也无法恢复系统默认的状态。已经觉得自己黔驴技穷了,并且由于这事发生在生产系统中,有好几千开发人员每天在平台上工作,不敢直接在数据库中做动作,最后只好联系微软TFS产品组,向开发人员求助。

TFS产品组开发人员很快有了回音,并给出了修复方案,看来在MVP群里混,还是有好处的。

下面把修复的方案贴在这里,希望能够对碰到同样问题的朋友提供帮助:

微软开发人员的回复是这样的,在TFS 2013中,工作项查询过程中如果出现超时现象,查询编辑器则被禁止使用;好在这个非常不方便的用户体验在最新版的TFS 2017中得到了改善,用户可以修改查询了。在TFS 2013中,你必须按照下面的方案直接修改数据库中的相关记录:

-- The query needs to run on the same collection database where the project lives. Change the database name if it is different

USE [Tfs_DefaultCollection]

-- Find user id from datatable based on its domain and username. It is recommended to double check the data to make sure we are selecting the right user

DECLARE @userId nvarchar(50);

SELECT @userId = TeamFoundationId FROM [dbo].[Constants] WHERE DomainPart = '<Domain name>' AND NamePart = '<Domain username>'

-- Find project id from datatable based on its name. It is recommended to double check the data to make sure we are selecting the right project

DECLARE @projectId nvarchar(50);

SELECT @projectId = project_id FROM [dbo].[tbl_projects] WHERE project_name = '<Project name>'

-- This will reset the “Assigned to me” query on the selected user

DELETE FROM [dbo].[tbl_RegistryItems]

WHERE ParentPath = '#\Users\' + @userId + '\WebAccess\Projects\' + @projectId + '\Queries\a2108d31-086c-4fb0-afda-097e4cc46df4\'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值