微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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','FALSE'      --使数据库处于multiple用户模式下

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

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

18. 设置为自动收缩

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐