TFS 2015 - 持续减少磁盘空间

时间:2016-09-28 16:03:22

标签: tfs tfs2015

我们的TFS 2015服务器上的磁盘空间不断减少。

我想知道如何识别TFS 2015集合中的哪个项目占用最多磁盘空间并识别TFS数据库中的表。

这会存储在存储此信息的tbl_Contents中吗?

另外,我注意到我们没有tbl_File,这是否已从TFS 2015中删除?

请提供任何解决方案的建议。

1 个答案:

答案 0 :(得分:0)

您可以使用下面的查询以降序大小顺序查找Team Project Collection数据库及其大小,以检查哪个收集数据库具有较大的大小:

use master
select DB_NAME(database_id) AS DBName, (size/128) SizeInMB
 FROM sys.master_files 
 where type=0  and substring(db_name(database_id),1,4)='Tfs_' and DB_NAME(database_id)<>'Tfs_Configuration' order by size desc

然后你可以找出哪些表格大而有查询:

USE Tfs_CollectionName
CREATE TABLE #t 
( [name] NVARCHAR(128), [rows] CHAR(11), reserved VARCHAR(18), 
data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18))
GO
INSERT #t
EXEC [sys].[sp_MSforeachtable] 'EXEC sp_spaceused "?"'
GO
SELECT
name as TableName,
Rows,
ROUND(CAST(REPLACE(reserved, ' KB', '') as float) / 1024,2) as ReservedMB,
ROUND(CAST(REPLACE(data, ' KB', '') as float) / 1024,2) as DataMB,
ROUND(CAST(REPLACE(index_size, ' KB', '') as float) / 1024,2) as IndexMB,
ROUND(CAST(REPLACE(unused, ' KB', '') as float) / 1024,2) as UnusedMB
FROM #t
ORDER BY CAST(REPLACE(reserved, ' KB','') as float) DESC
GO
Drop table #t

在TFS 2015中,数据库中有tbl_FileMetadata和tbl_FileReference,而不是tbl_File。

  

如果要清理数据库,建议不要处理   在数据库中直接。请按照教程Cleaning up old data进行操作   清理团队项目,文件,TFS VC内容,测试附件和   XAML Builds。

     

另外,应该注意的是SQL数据文件的大小不会   执行以下任何命令后减少,因为SQL会   保留空间供以后使用。