sql 2008r2,数据库的data.mdf文件占得磁盘空间太大 100
怎样才能让该文件缩小?收缩数据库好像只能收缩一点点,之前删除过大量的表,是用droptable删除的,可是磁盘空间依然没有减小。有什么办法能够将删除的表数据占用的磁盘空间...
怎样才能让该文件缩小?收缩数据库好像只能收缩一点点,之前删除过大量的表,是用drop table删除的,可是磁盘空间依然没有减小。有什么办法能够将删除的表数据占用的磁盘空间释放?或者能否将data.mdf文件拆分?具体该怎么做?
展开
展开全部
请问你是不是之前操作这个数据库的时候,有很多delete表的操作?
如果是的话,delete操作腾出来的空间是没有办法再利用起来的,所以删除表最好用truncate
原因是delete会锁住表中被删除的那部分空间,自然别人也就不能往里面写;
如果是这样,在尝试过楼上各种方法都不行之后,并且你的SQL Server 是2008 或者2008R2 或者2012
可以试试rebuild表 这可以消除表空间中 因为delete导致的锁的问题
如果是的话,delete操作腾出来的空间是没有办法再利用起来的,所以删除表最好用truncate
原因是delete会锁住表中被删除的那部分空间,自然别人也就不能往里面写;
如果是这样,在尝试过楼上各种方法都不行之后,并且你的SQL Server 是2008 或者2008R2 或者2012
可以试试rebuild表 这可以消除表空间中 因为delete导致的锁的问题
追问
用drop删除的,试过truncate删除但是占用空间还是没变化。rebuild表会对表有什么影响吗?可以整个数据库都rebuild吗?具体怎么操作?
展开全部
drop table删掉大表后,再进行收缩数据库才能释放空间
追问
我删除了好几万张表,可是选择收缩数据库的时候还是和删除之前一样,可用空间只是几百兆。
追答
你删好几万张表没有用啊,你得删数据量大的表,这样的表占空间多,删除后可能空间如果有很多的话,收缩数据库才能释放出来空间。如果你没有这样的表可删,那就只能拆文件了。但是拆文件也是要把大表创建进去,首先你得先找到数据库中占空间比较大的表。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度sqlserver 分区表。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询