我的数据库中有一个表,其中有大约 55GB 的未使用空间。如何减少这些未使用的空间?
我尝试过的步骤:
- 我重建了索引,这对我帮助很大,未使用的空间从 110GB 减少到 55GB。
- 通过运行 DBCC SHOWCONTIG,我发现我的表的平均页面密度为 99%(这在某种程度上是好的,但它并没有帮助我减少未使用的空间)
- 我更改了填充因子并再次重建索引(这次将填充因子更改为 100 后重建索引没有反射(reflect)出任何预期的结果)
- 我试过 DBCC CLEANTABLE (DBNAME,"Tablename"),我无法减少未使用的空间
- 我没有尝试收缩数据库,我想在不收缩数据库的情况下减少未使用的空间。
当前输出:
期望的输出:我想减少总空间,以便减少未使用的空间。
最佳答案
创建一个新表,然后将数据导出到这个新表。
SELECT * INTO newtable FROM table -- or copy wizard (by SSMS)
然后,删除旧表,但要确保所有数据都已成功传输。
关于sql-server - 未使用的空间分配给 SQL Server 中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54299432/