TFS 2015 - 磁盘空间持续减少

问题描述:

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

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

这是否在存储此信息的tbl_Contents?

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

请提出任何解决方案。

+0

您应该检查的一件事是您服务器上收集数据库的日志文件。在查看SQL Server中的数据库属性时,您应该能够找到它们的位置。 – Sachi

您可以使用下面的查询,找到团队项目集合数据库和它们的大小,按大小顺序,以检查其收集数据库具有大尺寸:

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_File,有tbl_FileMetadata和tbl_FileReference数据库。

如果你想清理DATABSE,但不建议直接处理数据库 。请按照教程Cleaning up old data 清理团队项目,文件,TFS VC内容,测试附件和 XAML Builds。

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

+0

感谢您的查询。有没有办法找出占用最多空间的个人用户或子项目? – Eric

+0

表名\t行\t保留MB \t数据MB \t指数MB \t未使用MB tbl_Content 57056.77 \t 56957.1 \t 30.68 \t 68.98 tbl_LocalVersion 17416.55 \t 16368.19 \t 994.09 \t 54.27 tbl_Version 5617.6 \t 1905.95 \t 3709.47 \t 2.18 tbl_Command 1661.3 8.02 \t 1.29 tbl_WorkItemCoreWere 1433.67 \t 221.61 \t 1206.46 \t 5.6 – Eric

+0

我们tbl_Contents表的要求不断提高。是否有查询来确定哪个项目(在tbl_Contents表内)占据了大部分空间? – Eric