【发布时间】:2015-12-24 01:40:09
【问题描述】:
我有一个大小为 270GB 的 SQL Server 数据库。几乎 91% 的空间在空间报告中显示为未使用。我知道未使用的空间是分配给特定对象的空间。应用程序团队对数据库执行了清除操作,但我们无法真正声明空间。
我已经检查了表上的索引碎片,但它们看起来不错。我还需要检查什么以及我应该做些什么来释放该空间。数据库将来不会使用该空间。
据我了解DBCC SHRINKFILE 仅释放未分配的空间。我读过DBCC CLEANTABLE 和DBCC SHRINK DATABASE,但不确定它是否足够好。
如何有效地释放对象中未使用的空间。
【问题讨论】:
-
这因数据库而异,您必须指定您使用的 SQL 数据库。在 SQLite 中,它是 VACUUM。使用 MySQL,也许 OPTIMIZE TABLE
-
如果您的数据库处于完全恢复模式,是否可以将其切换为简单恢复。然后收缩数据和日志文件。看看是不是变小了。将数据库设置回完全恢复模式。
-
这真的与 programming 没有任何关系(this site all about),但是与数据库管理 - 所以这里是题外话,属于dba.stackexchange.com - 投票移动。
标签: sql-server database-administration