在 Team Foundation Server 中按成员、任务和工作时间划分的 table 关系是什么?

What are the table relationships by member, task and effort time in Team Foundation Server?

我需要从 TFS 数据库中提取一些数据,但找不到我需要的 table。 我们使用 TFS 来衡量生产力(项目、用户故事、任务等),我必须使用 Excel 直接连接到 TFS 数据库来指示用户和任务的工作时间。 我有会员资格 table 但与 workitems/task 和工作时间

没有关系
SELECT * FROM [ADObjects] where ObjectCategory = 2 order by DisplayName

TFS 版本 15.117.27024.0

EDIT

好的,我找到了通过 sql 查询访问所需数据的方法:

 SELECT o.SamAccountName as Usuario
        ,MAX(Microsoft_VSTS_Common_ClosedDate) AS Fecha
        ,[WorkItem]
        ,SUM([Microsoft_VSTS_Scheduling_CompletedWork]) as Horas
        ,MAX([System_Rev]) AS UltimoMovimiento
        ,System_Id as WorkItemId
  FROM [tfs_warehouse].[dbo].[WorkItemHistoryView] wi
  join [Tfs_OurDomain].dbo.ADObjects o on o.DisplayName = wi.System_AssignedTo and o.DomainName = 'DomainName'
  where System_State = 'Closed' and System_WorkItemType in ('Bug','Task') and System_AssignedTo is not null
  and o.SamAccountName = 'MemberName' 
  and Microsoft_VSTS_Common_ClosedDate between '20180501' and '20181101'
  group by [WorkItem],o.SamAccountName,System_Id
  order by o.SamAccountName asc

不支持直接查询 TFS_*Collection 数据库和 TFS_Configuration 数据库。模式甚至可以在微小的更新之间发生变化,并且在过去的版本中定期发生重大变化。 运行 针对此数据库的查询可能会对 TFS 安装的性能产生负面影响。

为了支持报告,TFS 附带了报告功能。 TFS Warehouse(如果在您的安装中启用)以一种易于查询的格式包含您要查找的大部分数据。这些仓库表包含一组更有限的数据,并且架构在主要版本中保持相同,即使在不同的主要版本之间也没有太大变化。 The process hasn't changed since it's introduction 但当 Azure DevOps 分析服务可用于本地 TFS 安装时,该功能将被淘汰。这将通过 ODATA 提要公开数据。

analytics service is currently forecasted for TFS 2019:

Analytics - Available for Azure DevOps Server Reporting 2019

如果 Warehouse Cube 不适用于您的 TFS 安装,您可以使用 TFS REST API 来查询您需要的所有数据。以下 API 将使您能够访问所需的数据:

Excel 可以通过 .NET 进行扩展,并使用该功能查询 REST API 然后您可以 use the .NET Extensibility in Excel to populate lists in excel with the data from these REST APIs 并从这些列表中驱动您的报告。