You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps Server 2022中prc_CleanupDeletedFileContent的替代方案咨询

Azure DevOps Server 2022 释放已删除内容占用空间的解决方案

Azure DevOps Server默认采用软删除机制,删除内容后仅标记状态,不会立即释放物理空间。2022版本确实移除了旧的prc_CleanupDeletedFileContent存储过程,以下是替代方案和空间释放方法:

一、使用tf destroy彻底销毁版本控制内容

如果删除的是版本控制中的文件/文件夹,直接用tf destroy命令触发物理清理:

tf destroy /collection:http://<你的服务器地址>:8080/tfs/<集合名称> $/项目路径/目标内容 /startcleanup
  • 执行前确认目标内容已在版本控制中被标记为删除状态;
  • /startcleanup参数会立即启动清理流程,无需等待定时作业。

二、利用内置定时清理作业

Azure DevOps Server 2022内置了自动清理作业,确保它正常运行:

  1. 打开Azure DevOps Server管理控制台;
  2. 依次进入应用层 > 作业代理池 > 作业代理;
  3. 找到Team Foundation Server File Content Cleanup作业,启用并手动触发运行,它会自动清理所有已标记为销毁的文件内容。

三、手动执行数据库清理存储过程

如果定时作业未及时生效,可直接在集合数据库(Tfs_<集合名>)中执行新的清理存储过程:

-- 清理7天前已标记为销毁的文件内容,可根据需求调整天数
EXEC prc_DestroyUnusedFileContent @destroyThresholdDays = 7

执行完清理后,收缩数据库释放物理空间:

USE Tfs_<集合名>
GO
-- 收缩数据库,保留10%空闲空间,可调整百分比
DBCC SHRINKDATABASE(N'Tfs_<集合名>', 10)
GO

注意:收缩会导致索引碎片化,建议重建核心表索引:

USE Tfs_<集合名>
GO
ALTER INDEX ALL ON tbl_FileContent REBUILD
GO

四、清理其他占用空间的资源

除了文件内容,以下部分也可能占用大量空间:

  • 批量删除旧的构建/发布记录:进入项目管道 > 构建/发布,选择旧记录批量删除;
  • 清理测试结果和附件:删除废弃的测试运行记录、工作项附件,触发清理作业即可。

内容的提问来源于stack exchange,提问作者Jon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:47:43