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

问题描述:

我正在尝试从旧的 TFS 2010 服务器恢复一些组成员信息,该服务器的应用程序层不再可用(但 SQL 后端尚未删除).我知道有命令行程序可以获取安全信息,但我想知道是否有可能仅在数据库表/视图的情况下获取安全信息(特别是组成员身份).

I am trying to recover some group membership information from an old TFS 2010 server for which the application tier is no longer available (but the SQL back-end has not yet been deleted). I know there are command line programs to get security information but I am wondering if it is possible to get security information (specifically group membership) given only the database tables/views.

经过摸索和一些试错后,我发现以下 SQL 似乎有效

After poking around and some trial-and-error, I found that the following SQL seems to work

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'