使用Delete存储过程减少TFS DB大小是否安全?

时间:2018-06-11 08:31:36

标签: tfs tfs2017

我们有TFS 2017.3和数据库很大 - 约1.6 TB

我想通过运行这两个存储过程来尝试清理空间:

  • prc_CleanupDeletedFileContent
  • prc_DeleteUnusedFiles
  • prc_DeleteUnusedContent

运行它是否安全? 它是否有可能删除我目前使用的重要内容? (当然,我会在......之前做一个备份)。

这些存储过程中最好的值是什么?

另一件事 - 如果我运行此查询:

    SELECT A.[ResourceId]  
  FROM [Tfs_DefaultCollection].[dbo].[tbl_Content] As A
  left join [Tfs_DefaultCollection].[dbo].[tbl_FileMetadata] As B on A.ResourceId=B.ResourceId
  where B.[ResourceId] IS Null

我得到了10681的结果。 如果我运行此查询:

SELECT A.[ResourceId]  
  FROM PTU_NICE_Coll.[dbo].[tbl_Content] As A
  left join PTU_NICE_Coll.[dbo].tbl_FileReference As B on A.ResourceId=B.ResourceId
  where B.[ResourceId] IS Null

我得到了10896的结果。

如何删除此行?移除它们是否完全安全?

1 个答案:

答案 0 :(得分:0)

通常我们不建议直接对DB执行操作,因为它可能会导致问题。

但是,如果必须这样做,则需要先备份数据库

您可以参考以下文章来清理和减少TFS数据库的大小:

  

另一种选择是深入数据库,并运行清理   手动存储过程。如果您的内容表很大:

EXEC prc_DeleteUnusedContent 1
     

如果您的文件表很大:

EXEC prc_DeleteUnusedFiles 1, 0, 1000
     

这第二个sproc可能会运行很长时间,这就是为什么它有第三个   定义批量大小的参数。你应该运行这个sprocs   多次,或者如果它快速完成,你可以增加块   大小