删除的TFS shelveset如何影响服务器上的磁盘空间?

时间:2011-11-25 05:45:46

标签: tfs

delete shelveset操作是否回收tfs数据库中变更集使用的空间?

我不想知道细节,只是想知道 - 如果我创建并删除了许多大型搁架,是否会回收空间,或者数据库会增长?

2 个答案:

答案 0 :(得分:1)

Shelvesets基本上是未提交的,等待更改时使用特殊标志设置将其标识为搁置集而不是普通工作空间。

删除搁置集时,将撤消挂起的更改,并标记要删除的内容。

如果shelveset非常大并且您希望释放服务器上的磁盘空间,您应该知道该空间不会立即释放回SQL,但它最终会释放。在高层次上,必须发生以下事情:

  • TFS有一个内置的作业(版本控制管理作业),它可以运行并清除被破坏的内容。
  • 还有另一项工作(优化数据库),它将重新组织/重建SQL索引
  • SQL还需要运行它的“ghost cleanup”进程来释放页面
  • 除非缩小SQL数据文件,否则SQL会将该空间保留为“空闲页面”,而不是将其返回给操作系统。

答案 1 :(得分:0)

搁置集使用的间隔将在删除时回收。 Shelvesets类似于服务器上的工作空间,当您删除shelveset时,相应的行将被删除。