windows 2003 +SP2企业版,英文
SQL Server2000+Sp4企业版,英文
有若干数据库,其中数据库A中有几个表,记录不是很多,没有什么索引,但是使用sp_spaceusd来查看,这几个表占用了大量的unused space,给备份带来了很大的麻烦!正常情况下,数据库A应该只有6GB左右,但由于那几个表的缘故,数据库A一下子就到了30GB了。将这几个表删除并创建同名的表(结构相同,索引/约束等什么都相同),一开始还算正常(删除那几个表后数据库显示大小为6GB),没过几天数据库又到了30GB。
Auto shrink设定为True,DBCC Shrinkfile/Shrinkdatabase均无法释放出被表占用的unused space。
哪位碰到过这样的问题,能不能解决这样的问题?
另外,该服务器上的其它10几个数据库都很正常,唯独数据库A出现这样的问题!

解决方案 »

  1.   

    用数据库压缩在企业管理器中你的数据库A上点右键-》所有任务-》收缩数据库,上面有个“可用空间”如果这个值比较大,证明你可以通过这个收缩的功能释放所有的可用空间,但前提,要选中“在收缩前将页移到文件起始位置”这样才可以释放空间。还有如果你的字段中有IMAGE类型的数据,如果删除后数据库大小仍然没有变化时,可以在同样的建立上这个字段,然后在删除,然后就执行收缩,这样会很有效,我就遇到过。
    希望能帮上忙。