我们的TFS 2015服务器上的磁盘空间不断减少。
我想知道如何识别TFS 2015集合中的哪个项目占用最多磁盘空间并识别TFS数据库中的表。
这会存储在存储此信息的tbl_Contents中吗?
另外,我注意到我们没有tbl_File,这是否已从TFS 2015中删除?
请提供任何解决方案的建议。
答案 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会 保留空间供以后使用。