本人写了一条多表查询的语句,并要创建新表,估计记录有200万条,查询后提示:文件组已满,无法创建。应该是磁盘空间不足的原因.于是新建了三个数据文件(FAT32文件格式下,最大可达4G),但空间仍然不够.很奇怪的,所以想请教各位大虾:
 1、这个表的容量怎么会这么大,连12G都不够,表空间怎么计算?
 2、我在删除该表后,数据库空间却没有释放出来,该如何处理?

解决方案 »

  1.   

    学习中,用下DBCC 方面的命令
      

  2.   

    dbcc checkalloc("dbname")select *
    from sysfiles
      

  3.   

    1.物理数据的盘应该做的ntfs格式的。
    2.写操作是要记录日志的,应该是日志增长过快
    3.删除是用delete还是turncate?后者是不记录日志的,但处理后还就进行收缩工作数据空间才会释放。
    建议:1.做成ntfs。实在不行把日志文件中添加一个,以组的方式进行。
          2.故障还原模式设为简单
          3.用truncate
          4.收缩
      

  4.   

    谢谢各位指点!我知道为什么会这样了,因为我的语句查出的记录超大,有2000多万条.其中有许多重复记录,一条记录重复出现10来次,实际上最大的源表其记录才200多万条.
        我是直接用DELETE删除的,通过收缩,可以释放表空间,但怎么会出现这么多重复记录,难道是关联的问题?