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

Is it possible to list all users in a TFS group from SQL Server

我正在尝试从应用层不再可用的旧 TFS 2010 服务器恢复一些组成员信息(但 SQL 后端尚未删除)。我知道有命令行程序可以获取安全信息,但我想知道是否有可能仅在给定数据库 tables/views.

的情况下获取安全信息(特别是组成员资格)

经过摸索和反复试验后,我发现以下 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'

这是我用来列出 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