TFS数据库大小 - 版本控制

6
我在一台服务器上安装了TFS,但磁盘空间不足。(我们已经使用该实例约2年了。)从SQL Server的表中看来,罪魁祸首似乎是tbl_content表,它已经达到了70 GB。如果我获取所有项目的整个源树,则仅有大约8 GB的数据。这只是所有文件历史记录吗?这似乎是一个10:1的比率,仅仅是历史记录...因为我认为增量应该非常小。
有人知道这是否是一个合理的大小,考虑到8 GB的源(和2年的活动)?如果不是,有什么方法可以“修复”这个问题?
谢谢
2个回答

3

很抱歉,目前我无法帮助您解决比率问题。但是,您可以检查一下数据库文件中是否有可以释放的空间,这可能会是一个短期的解决方案。如果您还没有尝试过,请尝试一下。

SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.database_files;

如果上述语句返回了一些需要恢复的空间,您可以考虑进行一次DBCC SHRINKDATABASE或DBCC SHRINKFILE,以及安排定期的SQL维护计划,其中可能包括对数据库进行碎片整理。
DBCC SHRINKDATABASE和DBCC SHRINKFILE不应该经常使用,因为SQL Server需要一些“交换”空间来移动东西以实现最佳性能。因此,它们都不能作为长期解决方案,并且可能会导致TFS响应时间的明显性能降低。
JB

1

你是否每天都看到数据增长,即使系统没有任何活动? 如果是,你是否在8GB源代码之外存储了任何二进制文件?

我问这个问题的原因是,如果TFS无法计算增量或文件超过增量生成的大小,TFS将复制整个二进制文件。 我没有链接,但我在我的工作机器上有它,其中描述了此场景以及如何修复它,以防这是您问题的原因。


也许这就是你所指的二进制文件链接:http://rta-techie.blogspot.com/2007/11/binaries-in-tfs.html - Cody
Cody,没错!我很高兴你找到了它,因为最近我“重新组织”我的书签时好像把它弄丢了。 :-) - Joseph Ferris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接