DBCC SHRINKDATABASE
收缩指定数据库中的数据文件大小。如果还是很大,说明你的数据库本来就该这么大,除非你删除一部分东西

解决方案 »

  1.   

    表里的数据不能删啊 
    查看过  其中有三个表加起来就有快4G大小
    而里面不过也就几十万行数据楼上说删除日志  可是分离数据库 我早弄过了
    日志文件现在不到2M 很小了我想知道的是:数据文件里哪些东西可能会很大 ?而又不是必须的
    可以删除的?  那个库每天都做大量的读写工作 会不会产生一些不
    需要的东西?????  我征求过一专业公司意见  靠  他要很多MONEY!!
    所以来此求大家了 !!!
      

  2.   

    晕,这也要找专业公司?数据库大无非就是记录多索引多的问题了!6GB真的算很小了,在硬盘日益便宜的情况下不用担心了吧!先把一些主要的表做做DBCC dbreindex,这样可以释放出不少索引碎片占用的空间!
      

  3.   

    TO:yitangliang(yitang) 晕,这也要找专业公司?数据库大无非就是记录多索引多的问题了!6GB真的算很小了,在硬盘日益便宜的情况下不用担心了吧!先把一些主要的表做做DBCC dbreindex,这样可以释放出不少索引碎片占用的空间!先把一些主要的表做做DBCC dbreindex大哥能不能说详细些啊  DBCC dbreindex 我也做了 效果不明显啊
    详细说说啊  谢谢啦!!TO:gc_ding(E.T) 把表导出再导进是可以啊  可是有没有别的好办法啊?
    因为如果我这么做就要停止那个库使用
    可是数据库一刻也不能停啊  谢谢了呼呼  头大啊
      

  4.   

    你对这几个主表分别用Dbcc showcontig('TableName') WITH FAST, TABLERESULTS, ALL_INDEXES, NO_INFOMSGS看一下ScanDensity字段的值
    如果低于85%的,DBCC INDEXDEFRAG(dbname,tablename,indexid--这个从上面的列中找到)这个命令重整索引碎片。然后再看看如果还是不行,请看一下几张主表的字段类型,是不是有Ntext,Image之类的
      

  5.   

    我比如一下 :
    这个数据库相对来说也有点大 (别的地方同样的只有几十M)我sp_spaceused后:
    database_name          database_size         unallocatedspace
      sihosp                 759.25MB                71.74mMB
    reserved              data          index_size         unused
    702984kb             456344kb        59856kb          186784kb
    应该不会有这么大的 ....大哥们能不能给个详细的方案啊
    俺是这方面的低能儿啊    务必详细   谢谢啦!!
      

  6.   

    To:lzhs(快乐至上)谢啦  谢啦 
    我试试先
      

  7.   

    你的索引页的大小比数据页还要大。
    先重建一下索引吧。
    用我给你的方法先试试~~~
    还有一个就是DBCC DBReindex(...)但是如果你的数据库不能停,建议还是用DBCC IndexDefrag~~~
      

  8.   

    To:lzhs(快乐至上) 
     
       你的索引页的大小比数据页还要大。
    先重建一下索引吧。
    用我给你的方法先试试~~~
    还有一个就是DBCC DBReindex(...)但是如果你的数据库不能停,建议还是用DBCC IndexDefrag~~~老大 能不能说详细点啊  俺很笨啊
    呵呵  手把手教一下吧!?
    不吝赐教啊!!  
     
      

  9.   

    2000有个问题就是有时候收缩不了数据库,即便实际空间没多少有时候也是这个问题,其实有个办法但是要楼主冒险:
    首先选择一个比较大的表
    1.先禁用所有触发以及外键
    2.把所有数据用select into 成新表(不要用临时表,为了安全)
    3.truncate 要处理的表
    4.从新表insert 数据回来
    5.drop掉新表等把所有比较大的表处理完后,收缩数据库2到3次,然后你就会发现有可能只有原来的十分之一或者更小.
      

  10.   

    感谢所有参与的人!鞠躬先!To:lzhs(快乐至上)
    我照你说的做了一下 索引是太大了 
    有问题  呵呵   现在比原来小了三分之一谢谢啦
      

  11.   

    我这里3年数据才3G多,不过也要看你存些啥,看你的字段量,看你的索引量,索引不合理你那几G的数据库分分钟变20G,我就试过一次,后来发现Access内建的索引升迁到SQL后还在,删除多于的索引,再压缩,小了若干倍。