TFS 2017如何使用SQL查询工作项目

问题描述:

我正在寻找使用SQL选择直接从TFS的SQL数据库中查询工作项目的方法。TFS 2017如何使用SQL查询工作项目

对于TFS 2010,您可以使用一些数据库视图来实现此目标。 TFS2010: How to query Work Items using SQL on the Relational Warehouse

从WIQ的例子是这样的:

SELECT [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] 
FROM WorkItems 
WHERE [System.TeamProject] = @project 
    and [System.WorkItemType] = 'Ticket' 
    and [System.State] <> 'Closed' 
    and [System.State] <> 'Removed' 
+0

不建议连接到或直接查询TFS操作店:

除选定列,因为我从我的问题WIQ这是接近。你应该使用API​​。你想达到什么目的? –

+0

@MHHinsh每当上面的查询返回至少一个工作项时,我想发送短信给手机。我们的公司[PRTG](https://www.de.paessler.com/snmp_monitor)中有一个监控软件可以这样做,但它没有任何类型的tfs传感器。我能想到的最快方法是获取这些信息,让PRTG查询TFS数据库。 – phifi

到目前为止,我已经找到了最好的方法是使用数据库视图vw_denorm_WorkItemCoreLatest。在这种情况下,“最新”意味着,您只能获得工作项目的最新版本,而无需以前的任何版本。如果您需要工作项目的所有版本,请使用视图vw_WorkItemCoreAll

SELECT * 
FROM [dbo].[vw_denorm_WorkItemCoreLatest] 
WHERE [System.TeamProject] = 'MyTeamProject' 
    and [System.WorkItemType] = 'Ticket' 
    and [System.State] <> 'Closed' 
    and [System.State] <> 'Removed' 
+0

至少写一条评论为什么你downvote - 查询的作品,并确实是我需要的。 – phifi