我们使用TFS 2017 CI / CD管道,效果很好。但是,TFS 2017数据库平均每天增长约1GB。截至2018年10月23日,一个数据库从10GB增长到44GB。增长对我们而言逐渐变得难以为继。我们已经将保留政策调整到最低限度。
研究并阅读了至少30篇文章。以下是一些相关文章:
TFS tbl_Content started growing very fast after using VNext build
https://developercommunity.visualstudio.com/content/problem/63712/tfs-database-size.html
这是我到目前为止所做的:
一次又一次地审查了保留策略,并减少到最少(1天1份)。将“保留已删除”调整为10天。
在发布定义中取消选中“保留内部版本”框
运行上述三篇文章中的脚本,并发现:
a)FileContainer,文件数为149176,43GB(压缩后为34GB)
b)FileContainerOwner:内部版本29GB
所以增长的主要原因是Build(和工件)。
我的问题是如何缩小数据库大小?
我查看构建定义下的“历史记录”和“已删除”标签。
“历史记录”中的某些记录被“保留释放”锁定。我可以单击记录并删除。但是它什么也没做。记录仍然在那里。
“已删除”中的所有记录仍然存在。
再次回到我的问题,如何删除这些记录以便可以回收空间?
谢谢。
答案 0 :(得分:1)
将RetainedByRelease重置为false并等待至少24小时后,增长突增停止,并且每天删除tbl_content中的条目。
因此,在总结中,我也这样做了:
特别感谢这两个线程:
Trying to get list of TFS users trough client library
可帮助开发人员的完整源代码:
[HttpPost]
[Route("")]
public async Task<HttpResponseMessage> Insert(InsertRequest request)
{
var body = await Request.Content.ReadAsStringAsync();
}