4

我删除了很多文件,然后使用了TF DESTROYcmd工具。在意识到我错过了/startcleanup命令后,我想“哦,好吧,明天空间将是空闲的,因为 TFS 会自行清理”。

第二天:什么也没发生,应该释放大约 80GB。

我去了 MSSQL 管理工作室,搜索并运行存储过程“删除未使用的内容”和“删除未使用的文件”,猜猜发生了什么?:我突然丢失了大约 20GB 的空间,所以到 80GB 应该是免费的,但是我丢失了 20GB。

对此有何解释?我做错了什么?

我正在使用 TFS 15

4

1 回答 1

0

如果您正在谈论数据库的大小,那么您可能需要手动调整它的大小以释放空间。

从表中删除操作或导致行移动的更新操作可以通过删除对行的引用来立即释放页面上的空间。但是,在某些情况下,该行可以物理地保留在数据页上作为幻影记录。后台进程会定期删除幽灵记录。数据库引擎不会在响应查询时返回此残留数据。

但是,在数据或备份文件的物理安全存在风险的环境中,您可以使用 sp_clean_db_free_space 来清理这些幽灵记录。

于 2019-05-07T00:25:55.640 回答