TFS 2015 - 磁盘空间持续减少
我们的TFS 2015服务器磁盘空间不断减少。TFS 2015 - 磁盘空间持续减少
我想知道如何识别TFS 2015集合中的哪个项目占用最多磁盘空间并识别TFS数据库中的表。
这是否在存储此信息的tbl_Contents?
另外,我注意到我们没有tbl_File,这是从TFS 2015中删除?
请提出任何解决方案。
您可以使用下面的查询,找到团队项目集合数据库和它们的大小,按大小顺序,以检查其收集数据库具有大尺寸:
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将为 保留空间供以后使用。
感谢您的查询。有没有办法找出占用最多空间的个人用户或子项目? – Eric
表名\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
我们tbl_Contents表的要求不断提高。是否有查询来确定哪个项目(在tbl_Contents表内)占据了大部分空间? – Eric
您应该检查的一件事是您服务器上收集数据库的日志文件。在查看SQL Server中的数据库属性时,您应该能够找到它们的位置。 – Sachi