当前位置: 代码迷 >> Sql Server >> SqlServer数据文件太大,表占用空间太大,如何释放空间
  详细解决方案

SqlServer数据文件太大,表占用空间太大,如何释放空间

热度:79   发布时间:2016-04-24 09:34:02.0
SqlServer数据文件太大,表占用空间太大,怎么释放空间
SqlServer2008 r2数据库,数据文件太大了,谁知道,这里的保留,还有未使用,都是怎么来的么?
我最大的表有上亿条数据,保留有80多个g,但是实际数据大小只有40多g,还有40多g未使用,这些都占用磁盘空间,现在搞得磁盘都满了。。。自动收缩数据库只能收缩日志文件的一部分,mdf文件还是没怎么变小。。求救。。。

------解决思路----------------------
数据会因为被增删改然后分配到不同的数据页中,特别是有一个算法,比如当堆表的数据页存放了4100btyes的数据,意味着有3960 bytes的空闲空间,PFS页会标识这个页属于51~80%的占用率,sqlserver此时不会再把超过20%页大小(约1612 bytes)的新行存进这个页,即使空间足够,然后进行分页,所以不是每个页都会填满,也是因此很多地方会建议使用聚集索引来组织数据
  相关解决方案