分配给SQL Server中表的未使用空间

时间:2019-01-21 23:56:44

标签: sql-server database database-administration

我的数据库中有一个表,该表有约55GB的未使用空间。如何减少未使用的空间?

我尝试过的步骤:

  1. 我重建了索引,这对我有很大帮助,将未使用的空间从110GB减少到55GB。
  2. 通过运行DBCC SHOWCONTIG,我发现我的表的平均页面密度为99%(这在某种程度上不错,但是并没有帮助我减少未使用的空间)
  3. 我已经更改了填充因子并再次重建索引(这次将填充因子更改为100后重建索引并没有反映任何期望的结果)
  4. 我尝试了DBCC CLEANTABLE(DBNAME,“表名”),我无法减少未使用的空间
  5. 我没有尝试收缩数据库,我想在不收缩数据库的情况下减少未使用的空间。

当前输出:

CurrentOutput

所需的输出:我想减少总空间,以便减少未使用的空间。

2 个答案:

答案 0 :(得分:0)

创建一个新表,然后将数据导出到该新表中。

选择*通过表或复制向导(通过SSMS)进入newtable中

然后,删除旧表,但要确保所有数据都已成功传输。

答案 1 :(得分:0)

解决方案: 用ALTER INDEX ALL重建MyTable(FILLFACTOR = 100); 谢谢ALEXK的帮助:)