TFS数据库随构建而增长

时间:2014-09-09 07:25:16

标签: tfs tfsbuild tfs2013

我们有一台TFS 2013服务器,提供源代码控制和构建服务。我们最近为我们的项目启用了自动构建,我们发现每次构建时数据库都在快速增长。

据我所知,这个版本的TFS在非版本控制的位置(http://nakedalm.com/new-un-versioned-repository-in-tfs-2012/)添加了将构建输出到TFS服务器的选项

我们只保留最后两个成功的版本,但是当我们删除旧版本时,我们似乎并没有真正恢复任何空间。我一直在研究它,似乎有一个可以用来从数据库中删除旧版本的destroy命令,但我找不到任何提到新TFS放置位置的禁令。

我们的版本也在应用标签,但我不确定标签是否确实需要任何空间,以及删除旧标签后是否回收了该空间?

有人能指出我正确的方向吗?

由于

1 个答案:

答案 0 :(得分:1)

标签不占用任何重要空间。

  

据我所知,此版本的TFS已添加输出选项   在非版本控制的位置构建到TFS服务器   (http://nakedalm.com/new-un-versioned-repository-in-tfs-2012/

这来自VSOnline,您的输出可以存储回源代码控制,这是TFS2013中的可用选项,但前提是您在构建默认值中选择了“将构建输出复制到服务器”选项。如果您认为这会占用太多空间,请使用网络共享来存储构建输出。

当您通过保留策略删除构建时,构建的大多数人工制品将被删除,例如drop文件夹,您将无法再在构建屏幕中看到构建,但这只是一个逻辑删除并且记录保留在数据库中,但标记有删除标记。

Destroy命令将从系统中物理删除构建,它将完全消失并且所有记录将从DB中删除,请记住TFS可能无法立即恢复空间,TFSJob代理将恢复正常运行过程中的空间,因此您可能看不到恢复24小时的空间+。

您可以检查测试附件表的大小,因为您可能会发现正在存储的测试库等正在使用您的空间。

安装TFS Power工具将安装测试附件清理工具并运行它将显示它是否是消耗空间的测试附件。它有关于如何清理表格以及如何运行预定作业以保持管理的说明

  

TFSBUILD销毁示例   这将破坏已删除的5/5/14和20/5/14之间的所有版本

tfsbuild destroy /collection:http://TFSServer:8080/tfs/TPC /dateRange:05/05/2014~20/05/2014 /buildDefinition:POC\zzz_DBSample
Microsoft (R) TfsBuild Version 12.0.0.0
for Microsoft Visual Studio v12.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Destroy build record for DEV_DBSample_1.0.14128.1 permanently? (Yes/No/All) y
Destroying DEV_DBSample_1.0.14128.1... Done
Destroy build record for DEV_DBSample_1.0.14128.2 permanently? (Yes/No/All) a
Destroying DEV_DBSample_1.0.14128.2... Done
Destroying DEV_DBSample_1.0.14128.3... Done
Destroying DEV_DBSample_1.0.14128.4... Done
Destroying DEV_DBSample_1.0.14128.5... Done
Destroying DEV_DBSample_1.0.14129.1... Done
Destroying DEV_DBSample_1.0.14129.2... Done
Destroying DEV_DBSample_1.0.14129.3... Done
Destroying DEV_DBSample_1.0.14134.1... Done
Destroying DEV_DBSample_1.0.14134.2... Done
Destroying DEV_DBSample_1.0.14135.1... Done
Destroying DEV_DBSample_1.0.14135.2... Done

注意构建定义名称自创建构建以来是如何更改的,并且TFS仍然可以找到正确的记录