我的数据库现在已经达到16个G了,造成硬盘都已经装不下了.而用查询表占空间发现实际有12个多G的空间并未使用,求救高手如何把这些空间给回收了
如图数据库空间占用查询结果:
reserved     data      index_size    unused
15655768KB   2646240kB  44656KB      12964872KB
表占用空间查询结果:
nameinfo         rowsinfo  reserved   datainfo     index_size    unused    
jxc_qtxs2007061935091942712 KB247048 KB32 KB1695632 KB
jxc_qtxs2007051920461939568 KB256480 KB24 KB1683064 KB
jxc_qtxs2007011981121863640 KB236008 KB8 KB1627624 KB
jxc_qtxs2007022056381738808 KB227224 KB16 KB1511568 KB
jxc_qtxs2007041810691691704 KB227048 KB16 KB1464640 KB
jxc_qtxs2007081267701656992 KB209104 KB32 KB1447856 KB
sys_xtrz27818585800 KB73288 KB32 KB512480 KB
js_jhdt20490413376 KB52232 KB32 KB361112 KB
jxc_qtxs_ys65937409144 KB54200 KB32 KB354912 KB
jxc_jhdt20078742316200 KB39512 KB304 KB276384 KB
jxc_wsdl61568284816 KB37832 KB3312 KB243672 KB
jxc_yfzk20078609260712 KB32704 KB32 KB227976 KB

解决方案 »

  1.   

    --截断日志
    DUMP TRANSACTION DBName WITH NO_LOG--收缩当前数据库日志文件,如果空间压力过大,可以先收缩日志,这个很快。
    DBCC SHRINKFILE (2, 0) WITH NO_INFOMSGS--收缩数据库
    DBCC SHRINKDATABASE (N'DBName', 0) WITH NO_INFOMSGS
      

  2.   

    Try:
    ---收缩数据库到10%的可用空间
    Use Test
    DBCC ShrinkDatabase(Test,10)
    ---首先截断事务日志,然后再收缩日志文件
    Use Test
    BackUp Log Test With Truncate_Only
    DBCC ShrinkFile(Test,1)  ---注意这里单位为M---LZ,你视自己的情况而定,最好先完全备份一次再进行收缩
      

  3.   

    你现在的日志文件和数据库文件分别有多大,执行:select name, size*8.0/1024 from sysfiles把结果贴出来看看
      

  4.   

    pajxc_Data                                                                                                                       15288.312500
    pajxc_Log                                                                                                                        1.000000
      

  5.   

    -- 把 WITH NO_INFOMSGS 去掉,看看DBCC执行结果
    dbcc shrinkdatabase(N'Forecast', 0)/*
    (所影响的行数为 2 行)DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
    */
      

  6.   

    sp_spaceused 看看索引的使用空间,如果索引空间使用率不高,可以考虑修改索引的fillfactor。
      

  7.   

    编程动力 www.bcexe.com 专业的编程开发类网站,网络编程,软件开发,网站开发,一切尽在这里!
      

  8.   

    编程动力 www.bcexe.com 专业的编程开发类网站,网络编程,软件开发,网站开发,一切尽在这里!
      

  9.   

    假如你的数据库叫 emesuse emes
    DUMP TRANSACTION emes WITH NO_LOG  
    dbcc shrinkdatabase(N'emes')
    alter database emes set recovery simple