zengdj

点滴经验,源自实践

博客园 首页 新随笔 联系 订阅 管理
在最近的一个项目中,碰到一些数据库方面的问题,先是为了保护客户数据不至于丢失,要对数据库做定期备份,但不能靠人工去经常手工备份,于是采用了SQL SERVER的数据库复制技术,定期的在人迹罕至的深夜做该项工作。在数据备份问题解决的同时,也带来了新的问题,由于定期的数据复制,产生了大量的数据库日志信息,导致数据库日志文件声速增长,以至于磁盘空间不够,SQL SERVER停止工作。为此,必须有相应的措施来定期为数据库日志文件瘦身,问题产生的当时,临时采用了最笨的方法:
1,分离数据库。
2,删除日志文件。
3,重新附加数据库。

问题算是临时解决了,但方法是不对的,经过一塌糊涂的google和研究后,找出以下大家公认的方法:
1,截断事务日志中非活动的事务。
2,收缩日志文件大小。

相应的SQL Scripts如下:
1,Backup LOG DatabaseName WITH TRUNCATE_ONLY
2,DBCC SHRINKFILE(LogFileName,5)

详细的说明可参考SQL SERVER帮助文档。

参考资料:
http://support.microsoft.com/?scid=kb;zh-cn;873235&spid=2852&sid=61
http://support.microsoft.com/kb/317375/
http://support.microsoft.com/kb/272318/
posted on 2006-05-26 10:08  DingJun  阅读(539)  评论(0编辑  收藏  举报