是否可以从SQL Server列出TFS组中的所有用户

dav*_*idk 8 sql-server tfs tfs2010

我试图从旧的TFS 2010服务器恢复一些组成员资格信息,其中应用程序层不再可用(但SQL后端尚未删除).我知道有命令行程序来获取安全信息,但我想知道是否有可能只获得数据库表/视图的安全信息(特别是组成员资格).

小智 9

这是我用来列出TFS集合中所有用户和成员资格的查询.

Select    Object1.DisplayName as Name, 
          Object2.DisplayName as Membership
From      ADObjectMemberships Member1, 
          ADObjects Object1,
          ADObjects Object2
Where     Object1.ObjectSID = Member1.MemberObjectSID and
          Object2.ObjectSID = Member1.ObjectSID
Order By  Membership, Name
Run Code Online (Sandbox Code Playgroud)


dav*_*idk 2

经过一番摸索和反复试验后,我发现以下 SQL 似乎可以工作

USE MyCollection;

SELECT
   --grp.[SamAccountName] 'group_name',
    member.SamAccountName 'member_name'
FROM
    [ADObjects] grp
    JOIN ADObjectMemberships om ON om.ObjectSID = grp.ObjectSID
    JOIN ADObjects member ON om.MemberObjectSID = member.ObjectSID
WHERE
    grp.SamAccountName = 'MyGroup'
Run Code Online (Sandbox Code Playgroud)