收缩分割TFS 2017.u1系列

时间:2017-10-23 19:58:47

标签: tfs tfs2017

我最近将我的主要系列分为两个系列(A和B),其中A包含我们正在积极处理的所有团队项目,B包含我们不再使用的所有项目。 A包含大约10个团队项目,B包含大约5.我按照本文中的分割集合的说明进行操作:https://docs.microsoft.com/en-us/vsts/tfs-server/admin/split-team-project-collection

在拆分之前,我们的数据库大约是33Gb。拆分后,据我所知,两个数据库的总和(收缩后)应该大致相同。相反,我们有两个关于33Gb的数据库。

我查看了这个帖子(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-3GB的空间,但应该有更多的空闲。我的大多数数据都在tbl_content中(数据库B中的appox 28464856 KB)。 SQL报告A有大约3个可用空间,B大约有4.我希望这些数字接近10-15。

我觉得我错过了一些简单的事情。

1 个答案:

答案 0 :(得分:0)

请注意,删除原始项目时,不会立即清除元数据和文件,因为TFS会在后台执行此类工作。在7天之后检查解决方案here

如果要强制它,可以针对相关集合DB运行上面提到的命令:

EXEC prc_CleanupDeletedFileContent 1

EXEC prc_DeleteUnusedFiles 1, 0, 10

根据您的描述,这些命令是有效的。

但请注意,第二个命令中的chunksize 10是批量大小,因此如果您的存储库包含的文件数量超过该数量,则可能需要多次运行该命令 。或者就像丹尼尔在你提到的链接中所说:如果你觉得它运行得足够快,你可以增加这个数字。 例如:EXEC prc_DeleteUnusedFiles 1, 0, 100000

另请注意,这可能会在后台的几天内完成。

此外,您还可以清洁测试附件。参考:When to use the Test Attachments Cleaner (and when not)

以下文章分析和缩小数据库供您参考: