2017-09-15 31 views
6

直到一个月前,我们一直使用旧版本(XAML)的版本,然后开始使用vNext版本。之后,我注意到TFS数据库中的tbl_Content表开始快速增长。例如,在过去的8个小时内,它增长了10 GB,我无法弄清楚它为什么这样做。有谁知道它是什么?使用VNext后,TFS tbl_Content开始快速增长

我之所以说这是vNext构建的原因是因为我注意到它升级后开始增长,但我的方式是错的。我希望它不会试图存储我的构建输出或类似的东西。有没有办法知道tbl_Content表中的内容?他们可以被删除吗?或者有没有办法从该表中删除一些东西而不会搞乱TFS?

回答

1

我在网上搜索,并尝试做各种事情,看看是什么使问题。其他问题是没有关于TFS数据库模式的文档。花了近10个小时玩TFS数据库后,我几乎成为了TFS DB pro。查询tbl_Content,tbl_FileMetadata和tbl_FileType几乎没有帮助我确定究竟是什么造成了问题。

所以在最后取出/V:从的MSBuild参数固定我的问题诊断。我不确定将它放到数据库中的是什么,但每个构建都将近1GB的数据添加到数据库。

+1

通过在msbuild参数中使用'/ verbosity(/ v)'开关,可以控制输出日志中出现多少数据。如果将详细信息设置为详细信息,构建过程可能会比较慢,如果将/详细信息设置为诊断,构建过程可能会更慢。 '/ v:diag'提供了最多的信息。 –

1

TFS数据库因各种原因而增长。 失控生长的一些常见的来源包括使用建立或释放自动化,而不 配置适当retention policies,创造人类或工具一 少数非常大的项目(工作项,版本控制文件, 等),等等。我们正在积压 的工作,以使TFS数据库中的空间分布更易于发现。

你可以尝试使用SQL脚本,如下面显示,在过去几个月增加tbl_Content的:

select DATEPART(yyyy, CreationDate) as [year], 
    DATEPART(mm, CreationDate) as [month], 
    count(*) as [count], 
    SUM(DATALENGTH(Content))/1048576.0 as [Size in Mb], 
    (SUM(DATALENGTH(Content))/1048576.0)/count(*) as [Average Size] 
from tbl_Content 
group by DATEPART(yyyy, CreationDate), 
    DATEPART(mm, CreationDate) 
order by DATEPART(yyyy, CreationDate), 
    DATEPART(mm, CreationDate) 

它能够知道看“业主”的供配电通过SQL查询在tbl_Content中的数据。具体步骤请参考这个类似的问题亚伦哈尔贝格的回复:TFS Database size

为了减少tbl_Content表的大小,你可以参阅本博客:TFS tbl_Content Table and Database growth out of control,可以在三个步骤总体概括:

  1. 清理一些您不再需要的旧工作区。
  2. 运行tf destory command永久删除那些不必要的源文件。
  3. 使用TFS电动工具clean Test attachments和测试结果。
+0

感谢您的回复,我在此处发布问题之前尝试了所有这些,但这并没有帮助,或者至少我没有意识到差异,因为它发展得太快了。花了差不多一天的时间后,我终于明白了这一点。我现在会发布。 – Dilshod