如何收缩表的空间大小(50分)

  • 主题发起人 主题发起人 hellobaobao
  • 开始时间 开始时间
H

hellobaobao

Unregistered / Unconfirmed
GUEST, unregistred user!
我的数据库中有几个表数据大小才200多M但是保留空间达到了近4G。
我试着进行过收缩数据库,但是不起作用。我现在就是想怎么才能
将这些表的保留空间释放出来
 
这个问题,我们曾遇到,解决办法就是把数据库中的数据导出来,然后再重新建立数据库,然后把数据在导入,注意不是备份和恢复。然后就可以了。
 
to:gj123root
你是说新建一个数据库(数据库A)把数据从旧的数据库(数据库B)导出
到新的数据库(数据库A),然后再导回到旧的数据库(数据库B)吗
 
是不是日志文件太大?
 
1/创建几个表为这些表的备份表(注意创建时指定相应的表空间)。
2/将原表数据备份到备份表中
3/删除原表,改备份表为原表的名字。
以上就解决了表数据占用多空间的问题
注:如果楼主说的是Oracle数据库的表;那就是正常的。你就直接进入OracleDba管理画面
将表空间改小就好了
 
to:onlyonekgx
日志文件不是很大也就100多M
 
to:chenzs973124
很遗憾我用的是SQL Server 2000.你的方法不错我试一下可不可行。
我顺便想问你为什么会造成表空间大量占用而得不到释放
 
SQL Server 2000可以执行语句收缩数据库
收缩日志
backup log DatabaseName with no_log
截断数据库中未使用空间
dbcc shrinkdatabase ( DatabaseName , TRUNCATEONLY )
 
to:ball_cao
我前面已经说了我已经做缩过了,还是不行而且我原来就有一计划每天固定的时间
收缩数据库。
 
收缩数据库时:1、收缩后文件中的最大可用空间=0%
2、收缩前将页移到文件的起始位置

如果还不行,需要修改数据库的几个配置选项:
1、故障还原模型=简单
2、选择自动收缩选项
 
搞定了用chenzs973124提供的方法
 
多人接受答案了。
 

Similar threads

回复
0
查看
894
不得闲
S
回复
0
查看
862
SUNSTONE的Delphi笔记
S
S
回复
0
查看
753
SUNSTONE的Delphi笔记
S
后退
顶部