TFS 2012 讨论用户

Posted

技术标签:

【中文标题】TFS 2012 讨论用户【英文标题】:TFS 2012 Discussion Users 【发布时间】:2021-08-24 20:28:44 【问题描述】:

我可以在 TFS 数据库中的哪里找到输入了此处所示讨论项的用户?我在 WorkItemLongTexts 表中找到了讨论项的位置,并且在 Constants 表中看到了用户数据的位置,但我没有看到将两者联系在一起的表或视图。

【问题讨论】:

您应该永远直接针对 TFS 操作存储数据库编写查询。 @DanielMann 这正是我多年前告诉我的组织的内容,但我仍然在这里。我是一个问题解决者——不是一个哭闹的婴儿,你的意见真的没有帮助。 【参考方案1】:

我终于弄清楚了讨论/cmets 用户和时间戳是如何存储在 TFS 数据库中的。这是一个愚蠢的设计。您必须联合 WorkItemsWere 和 WorkItemsAre 表并加入 WorkItemLongTexts。我探索了“Change Order”和“Rev”列来进行 JOIN,但没有任何意义。相反,您必须在 DATETIMES 之前加入。我通常不会提倡像这样加入,但这是我让它发挥作用的唯一方法。最后,我能够提取所有数据,完成转换并最终将 TFS 置于床上。

如果您有兴趣,可以在这里查询...

WITH WorkItems AS (
    SELECT ID, PersonId, [Changed Date]
    FROM WorkItemsAre
    UNION
    SELECT ID, PersonId, [Changed Date] 
    FROM WorkItemsWere 
), Discussion AS (
    SELECT *
    FROM WorkItemLongTexts
    WHERE FldID = 54
)
SELECT w.ID, PersonId, NamePart, d.AddedDate, Words
FROM Discussion d
INNER JOIN WorkItems w
ON d.ID = w.ID
AND d.AddedDate = w.[Changed Date]
LEFT OUTER JOIN Constants c
ON w.PersonId = c.ConstID
ORDER BY w.ID, d.AddedDate

【讨论】:

以上是关于TFS 2012 讨论用户的主要内容,如果未能解决你的问题,请参考以下文章

如何为 TFS 中组的特定用户提供签出和签入访问权限

TFS 2012 配置访问被拒绝:[用户名] 需要以下权限才能执行此操作:查看集合级别信息

TFS 2010 权限。所有用户都有权

TFS 加密来自其他用户的文件

如何从 tfs 中删除用户?

VS2012 TFS解决离职后代码遗留未迁入问题