SQL Server - 丢弃的表但未回收未使用的空间?

时间:2016-02-18 16:25:43

标签: sql-server

我看到的这个问题最常见的变化是人们删除了行和/或列但是大小没有减少,而且回答这个问题的大部分回复是你不应该尝试如果可以帮助它,请缩小数据库。从我所读到的,处理这个的最好方法是将内容插入到一个新表中,这将允许SQL整齐地编译数据。

我不确定我要说的内容是否相同,但我从我的数据库中删除了几个应该已释放的大型未使用的 一些空间,但似乎它绝对没有。我从14GB的大小开始,删除后,我仍然有14GB的大小。

这是删除后的样子快照:

FileSizeMB  UsedSpaceMB UnusedSpaceMB   Type    DBFileName
285.06      8.94          276.13        Log     Database_DB_log
13866.00    9160.88       4705.13       Data    Database_DB
14151.06    9169.82       4981.26               *** Total for all files ***

可在此处找到该脚本:http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=61762

从这个摘要中,我看起来确实有一些未使用的空间来自我刚删除的表,但有没有办法在不进行缩减的情况下回收它?由于我读到的所有不好的事情,我只是非常不舒服地做了缩进,并且鉴于我从未处理SQL中的索引,我不相信我能够正确地重新索引。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

除非你设置为自动缩小,我怀疑,然后你需要缩小文件。

This解释了这个过程和利弊。

缩小本身并不坏,这取决于您的使用案例。如果你要缩小数据库以便再次快速增长它,那么我会说“为什么要打扰?”,但是如果它给你所需的空间并且你认为它不会快速增长那么你就是可能很好。