【问题标题】:Team foundation Server 2012 Database sizeTeam Foundation Server 2012 数据库大小
【发布时间】:2016-10-04 10:38:20
【问题描述】:

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

我将缩小数据库并重新索引表,但由于表的行数和大小没有改变,我看不出它有什么不同。

感谢任何建议。

【问题讨论】:

  • 附件清理工具似乎可能误报删除的数据量,而不是 200GB,它似乎更多地在 20GB 的范围内(当缩小数据库时)。最大的表似乎围绕构建/单元测试和覆盖数据。我可以看到超过 99.9% 的构建在 tbl_build 表中被标记为已删除,所以我假设所有相应的数据也仍然存在。
  • 我发现这个article 可以解决这个问题。

标签: sql-server database tfs


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    我们使用了附件清洁工具,它对我们有用。我确实相信在看到数据库大小下降之前我们也必须缩小数据库。

    【讨论】:

    • 不幸的是,似乎对我没有任何影响。我一定是错过了什么。
    猜你喜欢
    • 2013-04-15
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 2012-08-23
    • 2012-09-22
    • 2014-12-09
    • 2018-08-16
    相关资源
    最近更新 更多