我最近将我的主集合分为两个集合(A和B),其中A包含我们正在积极处理的所有团队项目,B包含我们不再使用的所有项目。A包含大约10个团队项目,B包含大约5个。我遵循了本文中拆分集合的说明:https://docs.microsoft.com/en-us/vsts/tfs-server/admin/split-team-project-collection
在拆分之前,我们的数据库大约是33 to。拆分后,据我所知,两个数据库的总和(收缩后)应该大致相同。相反,我们有两个大约33 we的数据库。
我看过这个线程(https://connect.microsoft.com/VisualStudio/feedback/details/804226/collection-database-size-is-not-reduced-after-destroy-large-files-or-completely-delete-team-projects),我可以看到B有大约25k的文件要删除,A有大约100k的文件要删除。
我试过跑步:
EXEC prc_DeleteUnusedContent @partitionId = 1
EXEC prc_DeleteUnusedFiles 1, 0, 10这可能释放了2-3 3GB的空间,但应该有更多的释放。我的大部分数据都在tbl_content中(数据库B中的appox为28464856 KB )。SQL报告A有大约3 10的可用空间,B有大约4 10的可用空间。我预计这两个数字接近10-15。
我觉得我错过了一些简单的东西。
发布于 2017-10-24 16:48:03
请注意,当您删除原始项目时,元数据和文件不会立即被清除,因为TFS在后台执行这类工作。7天后按照解决方案描述的here进行检查。
如果您想强制执行,可以针对相关的集合DB运行上面提到的命令:
EXEC prc_CleanupDeletedFileContent 1
EXEC prc_DeleteUnusedFiles 1, 0, 10根据您的描述,这些命令是有效的。
但请注意,第二个命令中的块大小10是批处理大小,因此如果您的存储库包含的文件数量超过该数量,您可能需要多次运行该命令。或者就像丹尼尔在你提到的链接中所说的:如果你觉得它运行得足够快,你可以增加这个数字。例如:EXEC prc_DeleteUnusedFiles 1, 0, 100000
还要注意的是,这可能会在后台的几天内自行处理。
此外,您还可以清理测试附件。参考:When to use the Test Attachments Cleaner (and when not)
和下面的文章来分析和缩小数据库,供您参考:
https://stackoverflow.com/questions/46897522
复制相似问题