Team foundation Server 2012数据库大小

Sjb*_*ack 7 database sql-server tfs tfs2012

我有一个400GB的TFS数据库(tfs_DefaultCollection).我已经运行了附件清理工具,它告诉我它删除了200GB的数据.在此之后并查询最大的表,行计数是相同的,并且大小没有改变.mdf文件大小保持不变,前四个表也是如此.(tbl_FunctionCoverage,tbl_TestResult,tbl_BuildInformation和tbl_Content).我假设我需要运行某种形式的整洁脚本吗?我已经执行了prc_DeleteUnusedContent和prc_DeleteUnUsedFiles,但我相信它们更适用于版本控制和工作区,因为它们没有做任何更改.

我将缩小数据库并重新索引表,但由于表行数和大小没有改变,我看不出它有多大区别.

任何建议表示赞赏.

Sjb*_*ack 1

所以我想我可能已经解决了我的问题......

我编写了一个小应用程序来枚举我们的构建定义,找到所有标记为已删除的定义。对于每个删除的构建,我删除了所有关联的测试运行,最后销毁了构建。这花费了大约 16 个小时来运行,删除了 25,000 次构建和大约 60,000 次测试运行。这似乎并没有立即在数据库中发生很大变化,但某些表的行数确实减少了。

然后我离开数据库几天(变成了大约 10 天),运行的后台清理作业似乎清理了大量数据,但是它们确实运行了几天来执行此操作,并且在实时系统中我不是确定对性能的影响。

在回收大约 160GB 后缩小数据库(大约需要 10-12 小时),同时禁用报告并删除仓库数据库 (70GB),将数据库大小总量降至 175GB。