题
这个问题在这里已经有一个答案:
我们需要在4GB中安装数据库,以便使用SQL Server Express Edition。我从7GB数据库开始,发现了许多不需要的记录,并删除了它们。收缩后,数据库大小为4.6GB,748 MB是免费的 (根据数据库属性).
但是,当我执行 exec sp_spaceused
, ,我有有趣的结果:
DatabaseName Database_size unallocation space
xxxxxx 4726.50 MB 765.42 MB
Reserved Data index_size unused
3899472 KB 1608776 KB 1448400 KB 842296 KB
有什么想法,我如何至少释放其中一些未使用的空间?我也知道占用它的桌子。
更新: 尝试重建表索引值得吗?
ALTER INDEX ALL ON Production.Product REBUILD
解决方案
索引娱乐后,使用此命令:
ALTER INDEX ALL ON Production.Product REBUILD
而且我再次运行收缩命令 - 最终获得2.5G数据库。
其他提示
首先将恢复模式设置为简单,备份并缩小所有文件(数据和日志);使用“移动页面来启动数据库”(或确切的命名)选项用于收缩。
然后,您可以考虑索引碎片策划,在类似情况下帮助我们。
如果您已经缩小数据库,请给予 DBCC SHRINKDATABASE TRUNCATEONLY
尝试。
参考.
不隶属于 dba.stackexchange