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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |