SQL2000 数据库页拆分问题请教
最近我在做一个软件升级时,遇到了一个难题,情况是这样的:
软件升级时,需要同时升级数据库,其中有一张日志表,升级前大概8列,其中有一列是时间类型的,在上面有个聚集索引,升级时添加两列.
升级时该表中有很多数据,650多万条记录,占用2G多的空间,由于建表时没有指定一个合适的填充因子,导致在升级时,发生了页拆分现象,升级后该表占用空间成倍增加,事实上这样的表不只一张,有31张,但也不是每张表都会有这么多数据,大概3到4张表有这么多的数据,由于磁盘空间有限,升级时会因空间不足而失败.没有办法在现场通过添加磁盘的方法解决问题.
尝试过以下方法:
1,先重建聚集索引指定一个合适的填充因子,再升级.重建索引的过程中,磁盘空间也会大量增加,跟直接升级增加空间差不多,而且升级时间会更长;
2,先删除聚集索引,然后升级,升级完成后,再建聚集索引,情况跟第一种方法相似;
3,先将升级的表改名,然后使用INSERT FROM将数据插入,单独对一张表升级,花了41分钟后,因SQL的日志空间不足失败;而且时间上也不能接受;
请教各位专家给我指明方向,不胜感激!