VS2008 VSTS 删除死锁项 TFC

来源:互联网 发布:人事办公软件 编辑:程序博客网 时间:2024/06/09 23:03

由于VSTS是基于数据库存储的,因此,直接干掉数据库中的数据应该是解决的最直接办法。

大体的解决步骤如下:

1、连接到TFS的数据库服务器,一般情况下每一个Project都会有一个单独的数据库,找到tfsversioncontrol库;

2、查找tbl_workspace表,找出相应的工作目录,比如 select * from tbl_workspace where workspacename=’用户名’,这里有可能会出现一个用户对应多个的问题,原因是同一用户在不同的机器上如果有登录的话,那么VSTS会给这个用户单独的Workspace名称,因此也会出现多个;这里可以直接删掉多余的或者无效的,然后这里记录一下搜到的关于workspaceid;

3、利用上一步查到的workspaceid在tbl_pendingchange表中找到尚未签入的项,如: select * from tbl_pendingchange where workspaceid=’workspaceid’,然后将这些内容全部干掉;

4、检查一下tbl_lock表中有没有被锁定的数据,并全部干掉。

这个问题大概在所有的VSTS,不仅仅是2010 Beta中,貌似这个图形化的操作一直没有得到实现,简单的方法可以写一个单独的管理程序,原理无非就是查找相关数据库中是否有相关的数据然后删除就可以。相信在用户体验上有很大提高的VSTS新产品,会在RC中解决这个问题。