SQLSERVER 2005遇到日志文件很大的处理办法

   今天客户的服务器D盘剩余可用空间只有900KB了,给他们检查过程中,发现SQLSERVER2005的日志文件有100多G,原因找到了,接下来就要解决问题了

 

解决方法一:

 

backup log xydb with no_log

backup log xydb with truncate_only

dbcc shrink database(xydb)

 

解决方法二:

 

1. 清空日志

dump transaction xydb with no_log

2. 收缩日志

企业管理器--右键点击你要收缩的数据库--所有任务--收缩文件--选择日志文件--在收缩方式里选择收缩至**M,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了(建议在200~300M,以防止需要恢复使用)

3. 删除LOG

     (1) 分离数据库企业管理器->服务器->数据库->右键->分离数据库(有连接情况下勾选“断开所有连接”)

       (2) 删除LOG文件

4.  将数据文件xydb.mdf备份至其他盘(如E盘),而后删除

5. 新建数据库(数据库名、数据文件名、日志文件名、以及数据文件和日志文件存放路径和以前的要保持一致)xydb     -----数据文件和日志文件目录为D:\xydb

6. 用      alter database xydb set offline    命令使 xydb脱机

7. 将备份至E盘的xydb.mdf文件粘贴到D:\xydb,让其覆盖刚刚新建的数据文件

8. 将 服务管理器(绿色三角箭头)重启         --sqlserver confignation manager

9. 用      alter database xydb set online       命令使xydb联机

10. 将 服务管理器 (绿色三角箭头)重启

11. 用命令 alter database xydb set emergency    --使xydb处于紧急模式

12. 将 服务管理器(绿色三角箭头)重启

13.  执行  SP_DBOPTION 'xydb', 'SINGLE USER', 'TRUE'     --使数据库处于单用户模式

14. 执行  DBCC CHECKDB('xydb',REPAIR_ALLOW_DATA_LOSS)     --有损修复,可能会丢失数据,请慎用

15. 执行  DBCC CHECKDB('xydb',REPAIR_REBUILD)      --无损修复

16.执行  SP_DBOPTION 'xydb','SINGLE USER','FALSE'      --使数据库处于multiple用户模式下

17. 如果想以后不让日志文件一直增长:

           企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)

18. 设置为自动收缩

          xydb-》属性->选项-》自动收缩:true

 

           


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值