清理 Azure DevOps Server 中的旧数据

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

备注

Azure DevOps Server 以前名为 Visual Studio Team Foundation Server。

随着时间的推移,Azure DevOps Server 的实例可以建立非常大的数据量,包括文件、生成、工作项等。 在项目的整个生命周期中,此数据可作为生成软件所涉及的各种项目的历史记录。 最终,维护较旧数据所涉及的成本(包括性能影响和增加的升级时间)除了增加的磁盘空间要求外,可能还会超出其优势。

本文提供了有关清理各种不同类型的数据的指南,这些数据主要来自 Azure DevOps Server 集合数据库。

请注意,在清除后,任何 SQL 数据文件的大小都不会减少,因为 SQL Server 会保留空间供将来使用。

重要

在以下所有情况下,清除数据后,将 无法恢复 数据,除非还原数据库备份。 请注意只清除你确定不再需要的数据。

先决条件

若要执行这些过程,您必须是高度授权的用户,通常是项目集合或项目管理员组的成员。

项目

如果有不再需要的整个项目,删除这些项目可能会产生很大的影响,因为这会在所有功能区域中删除项目的所有内容。 可以通过两种方法来删除项目:

  1. 使用 web 门户

  2. 使用 Visual Studio 安装中随附的 TfsDeleteProject 工具。

删除项目这两种方法之间的主要区别在于, TfsDeleteProject 将尝试从 Azure DevOps Server 集成的 Sharepoint 站点中删除项目。 如果 Azure DevOps Server 部署未与 Sharepoint 集成,则默认情况下,这两种方法将执行相同的一组操作。

默认情况下,这两种方法会执行相同的一组操作。

文件

通常,文件内容会占用 Azure DevOps Server 集合数据库中的大部分空间,因此清除不需要的文件可能会对数据卷产生重大影响。 Azure DevOps Server 集合数据库中存储了许多不同类型的文件,包括 Team Foundation 版本控制文件、Git 文件、工作项附件、测试用例附件、生成输出等。 大多数但不是所有的都支持清理。

请注意,通常不会 立即 清除文件内容,而是定期运行的后台作业 (通常一次) 。

Team Foundation 版本控制内容

如果 Team Foundation 版本控制 (TFVC) 分支、文件夹和文件将被删除,则只会在 逻辑上 删除它们,它们的内容仍在历史记录中可用。 可以使用 tf.exe 中的 "销毁" 命令,以物理方式删除 TFVC 分支、文件夹或单个文件。

测试附件

在测试运行期间创建的测试附件可以使用 "测试附件清理器" 进行清理,其中包含在 Azure DevOps Server Power Tools中。

用于清理测试数据的另一个选项是设置项目的测试保留策略。 若要了解详细信息,请参阅 控制测试结果的保留时间

XAML 生成

删除 Azure DevOps Server 中的生成时,将保留其生成的信息的子集,以避免下次重新 生成仓库时丢失报表数据。 可以使用 tfsbuild.exe 中的 销毁命令以物理方式删除生成数据。

此外,还可以为生成和发布管道设置保留策略。 若要了解详细信息,请参阅生成和发布保留策略