使用TFS过程中,经常有人不注意把大的文件上传到TFS服务器,导致项目集合占用的存储越来越大,浪费了存储控件同时影响了备份效率。
可以通过下面的语句分析那个文件占用空间比较大,后续可以清除该文件。
SELECT TOP 1000 [FileId]
,[ItemId]
,[VersionFrom]
,[HashValue]
,[FileLength]
,[ContentType]
,[CreationDate]
,[CompressedLength]
,[CompressionType]
FROM [Tfs_Interface].[dbo].[tbl_File]
order by compressedLength desc
VersionFrom 字段是该文件引入的变更集版本。
找到FileId后在tbl_content表中就可以查到具体存储的数据了,TFS将文件存储成每行1M的记录。
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [CreationDate]
,[Content]
,[FileId]
,[OffsetFrom]
,[OffsetTo]
FROM [Tfs_Interface].[dbo].[tbl_Content]
where [FileId]='11818'
找到文件位置后可以使用tf destroy 命令在 Team Foundation 版本控制中销毁或永久删除受版本控制的文件。