如何查询TFS中AreaPath的修改操作人及历史记录?
如何查找TFS中AreaPath的修改操作人
嘿,这个问题我之前帮不少人解决过,SQL查不到很正常——因为TFS的AreaPath修改记录并不存在于我们常用的工作项数据库里,得换几个思路来找操作人:
方法一:通过TFS Web门户的审计日志查看(最推荐)
这是最直观且无需技术门槛的方式,新版本的Azure DevOps Server/TFS都支持:
- 打开你的TFS项目Web门户,点击右上角的齿轮图标进入项目设置
- 在左侧菜单里找到审计(Audit)选项(不同版本位置可能略有差异,比如2019+版本可能在「工作」或「项目配置」分类下)
- 在审计日志页面,筛选操作类型为「区域路径已修改」(Area Path Modified),就能看到对应的操作人、修改时间,甚至前后的变更详情
方法二:使用TFS命令行工具(tf.exe)查询
如果习惯用命令行,可以借助tf.exe来拉取结构变更历史:
- 先找到tf.exe的位置,通常在Visual Studio安装目录下,比如
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer(根据你的VS版本调整路径) - 打开命令提示符,导航到该目录后,执行以下命令(替换成你的TFS服务器、集合和项目信息):
tf security /nologo /server:http://你的TFS服务器地址:8080/tfs /history /collection:你的集合名称 /project:你的项目名称
- 命令输出会包含所有项目结构(包括AreaPath)的修改记录,里面明确标注了操作人信息
方法三:查询TFS配置数据库(需谨慎操作)
如果你有数据库权限,可以直接查询TFS的配置数据库,但注意微软不建议直接操作TFS数据库,仅用于查询:
- 连接到TFS的配置数据库(默认名称为
Tfs_Configuration) - 执行以下SQL语句筛选AreaPath的变更记录:
SELECT ev.EventTime AS 修改时间, i.DisplayName AS 操作人, ev.Details AS 变更详情 FROM tbl_Event ev INNER JOIN tbl_Identity i ON ev.AuthorId = i.IdentityId WHERE ev.EventType = 'StructureChangedEvent' AND ev.Details LIKE '%AreaPath%' ORDER BY ev.EventTime DESC
- 查询结果里的
变更详情字段会包含AreaPath修改的具体内容,能帮你确认是不是你要找的那次修改
小提示:如果是较新的Azure DevOps Server版本,优先用Web门户的审计日志,不仅权限要求更低,信息也更易读。
内容的提问来源于stack exchange,提问作者vinay
相关产品推荐
相关产品推荐

