如何修复Team Foundation Server Workgroup Edition 不小心删除了所有Team Foundation Licensed Users组内用户问题

 

  在前面的Blog里面说过,Team Foundation Server Workgroup Edition是一个5用户限制版,所有的用户必须加入到Team Foundation Licensed Users组内才能连接上TFS,假如在实际操作中,不小心删空了Team Foundation Licensed Users组内的所有用户,也许就没有人可以连接上TFS了,这样是不是只有重新安装了呢?(我可是辛苦装了好久才装好TFS的啊)
  当然不是。
  但是,以下SQL脚本可以重新添加一些用户到Team Foundation Licensed Users组。

declare   @container   varchar ( 100 ), @member   varchar ( 100 )

SELECT   @container = [ sid ]       
  
FROM   [ TfsIntegration ] . [ dbo ] . [ tbl_security_identity_cache ]
where   [ display_name ] =N ' Team Foundation Licensed Users ' and deleted=0

SELECT   @member = [ sid ]       
  
FROM   [ TfsIntegration ] . [ dbo ] . [ tbl_security_identity_cache ]
where   [ display_name ] =N ' Domain Admins ' and deleted=0

insert   [ TfsIntegration ] . [ dbo ] . [ tbl_security_membership_cache ]
[ container ] , [ member ]
values ( @container , @member )

  使用SQL Management Studio连接到你的数据库服务器,执行脚本。经过试验,这段脚本在英文版的TFS是有效的,执行完这段脚本,域管理员组的用户就可以连接到TFS了,赶紧登陆调整你的权限设置吧。
  如果你要是其他的组也能访问TFS,只要修改' Domain Admins ', 改成其他的组名(比如'Domain Users')再运行一次就可以了

(2006-11-29 )补充:如果提示不能将NULL值插入表,表示找不到组,您可以先在授权管理里面将这个组添加到某个项目的contributors群组,之后再执行语句,应该可以成功。

  警告:
    1。并不保证这段脚本在其他语言的TFS有效。因为未经测试。
    2。这段脚本只是我个人测试和研究,没有得到任何许可和官方验证,对可能产生的任何法律问题和数据损失都不做任何保证和承诺。

不过本人并不推荐这么做,因为这样做可能会带来法律问题,
不过你可以尝试尝试,算是给微软测试一个Bug?

你可能感兴趣的:(server)