删除行后的数据库大小不会更改

时间:2018-03-19 09:45:38

标签: sql-server database

我有2个数据库,我从中删除了特定表中的行,以减少数据库的大小。

删除后,DB.mdf的大小不会改变。

我还尝试重建索引并使用cleantable,但没有效果!

ALTER INDEX ALL ON dbo.'Tablename' REBUILD

DBCC CLEANTABLE ('DBname', 'Tablename', 0)

3 个答案:

答案 0 :(得分:1)

删除数据库中的行不会减少实际的数据库文件大小。

您需要在删除行后压缩数据库。

Look for this 运行此操作后,您将要重建索引。缩小通常会导致索引碎片化,这可能会带来显着的性能损失。

我还建议您缩小后重新生成文件,以便有一些可用空间。这样,当新行进入时,它们不会触发自动增长。自动增长具有性能成本,并且您希望尽可能避免这种情况。

答案 1 :(得分:0)

即使我遇到了同样的问题,删除一些列后我的数据库仍然是40MB,但它的大小没有改变。 我安装了SQLManager,然后打开数据库,并使用命令'vaccum'清理了数据库,其大小减小为10MB。 enter image description here

答案 2 :(得分:0)

您需要缩小数据库。右键单击数据库,任务->收缩数据库