从数据库中删除大表(170GB)时遇到问题。 当我通过右键单击>删除这个大表时,我没有再次释放存储空间。当然表是关闭数据库但数据库需要空间不缩小
谁能告诉我出了什么问题?
答案 0 :(得分:1)
表存储在表空间中。这些都分配给数据库,无论该空间是否实际用于存储表(或索引或其他任何内容)。
删除表时,表空间中已释放空间。数据库可用于下一个表(或其他)的空间。您需要删除或缩小表空间以将空间释放回操作系统。
开始的地方是dbcc shrinkfile
,记录为here。
答案 1 :(得分:1)
简短回答:
在缩小之前运行sp_clean_db_free_space。我的假设是你尝试缩小文件,但如果不是that question has been answered.
括号声明:
You shouldn't shrink databases如果你可以避免它。
答案很长:您看到的行为是Ghost Records的结果。要在系统级别了解有关此内容的更多信息,请阅读以下文章:Inside the Storage Engine: Ghost cleanup in depth.