数据库太大已到10G怎么能减少到6G?急啊,急啊!

moto 2005-03-21 06:07:38
各位大哥请帮忙解决,数据库太大了已经到10个G我已经删除掉了,五六百万的数据,然后收缩一下,一点变小都没有.


非常急啊,谢谢!
...全文
312 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
aderly 2005-03-25
  • 打赏
  • 举报
回复
學習
moto 2005-03-25
  • 打赏
  • 举报
回复
如果分组啊,小弟不明白,能否讲具体一点,谢谢!
lh1979 2005-03-23
  • 打赏
  • 举报
回复

sp_spaceused tablename
zhuking 2005-03-23
  • 打赏
  • 举报
回复
kylike(极度狂菜)
怎么看一个表占用硬盘多少空间?谢谢!
是是非非 2005-03-22
  • 打赏
  • 举报
回复
同意楼上的
kylike 2005-03-22
  • 打赏
  • 举报
回复
分享一点我的经验:
有个客户用的数据库原来的数据文件大小是1940M ,
这个数据库中有许多表,其中有几个历史表特别占用空间。于是我对这几个表进行了
重新分析及框架调整
例如 Record_all 占用硬盘空间 128M , Attend_Day_all 表占用空间 550 M。
于是重新分析表的结构。record_all 中有四上字段的时间类型为 datetime , 我把它
们的数据类型调整为 smalldatetime , 调整结束后这个表占用的空间缩少到69M。减少
了47%。
我也对Attend_Day_all 这个表进行了重构,其中 关于 decimal(18,2) 的字段的内容
全部用Decimal(9,2) 就可以了。于是调整表结构,将 decimal(18,2) 调整为 decimal(9,2)
调整完毕后 , 这个表占用的硬盘空间由550 M 减少到330 M 。
我只调整了两个表的结构。但就足足减少了 280 M 的空间。

以上只是我的一些操作经验,敢改这个数据库是因为对其数据比较熟悉,另外也做了备份。
基本上不建议轻易改数据结构,因为可能会丢失数据。另外这样调整表结构也会造就数据
日志文件的暴胀,要注意硬盘可用空间是否足够以及收缩数据库。

TigerSuper 2005-03-22
  • 打赏
  • 举报
回复
除了删数据
也没什么法子了
先备份一下
然后不用的数据都删了
收缩一下
再不小 那也不用费劲了
就是那么大了
TianChong 2005-03-21
  • 打赏
  • 举报
回复
将数据分组,只要活动文件才备份就可以了。
kylike 2005-03-21
  • 打赏
  • 举报
回复
压缩数据文件 , 有这种方法吗? 学习....
zonelive 2005-03-21
  • 打赏
  • 举报
回复
最好分几组
这样收缩的时候选择性的去做
要不那么大一起做的话太浪费时间了
moto 2005-03-21
  • 打赏
  • 举报
回复
日志文件已经是1MB了,可是data文件,还是 10个G啊
jinjazz 2005-03-21
  • 打赏
  • 举报
回复

--压缩日志

1:截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG

2:清空日志
DUMP TRANSACTION 库名 WITH NO_LOG

再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了


3: 删除LOG
1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'


4: 如果想以后不让它增长
企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)

--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

5.设置为自动收缩
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧