2004-03-29, 09:39 PM | #1 | |
注册日期: 2003-10-22
帖子: 11,053
积分:6
精华:24
现金:14348金币
资产:29325305金币
|
彻底删除数据库日志的方法
彻底删除数据库日志的方法 现在私服运行了一段时间,特别是人比较多的服,相信大家的数据库日志log文件已经相当大了吧。其实这些log文件对于我们普通用户来说是没什么用,上面只是详细的记录了所有对该数据库的每一步操作,实际的数据已经保存到数据库文件中了,所以是不可能有什么回档之类的问题的。以前我们也问过微软的人,据说是如果你的数据库文件坏掉了,有这个他们有办法帮助你恢复数据库,但是由于方法并不公开,所以对于我们来说,这只是占空间的东西。因为原先没觉得这个是问题,所以也没站出来介绍一下,现在看越来越多的朋友问这个问题,就提供一下方法。下面是主题了: 1、进入企业管理器,选中数据库,比如muonline 2、所有任务->分离数据库 3、到数据库文件的存放目录,将MuOnline_log.LDF文件删除,你怕S的话可以拷出去 4、企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个*,不要紧继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。 5、记得数据库重新附加后用户要重新设置一下。 以后如果新的日志文件变大了,再继续这个步骤就行了。 ==------------------------------------------ 减少SQL日志的方法 --假设test2为数据库名称 在查询分析器中执行: backup log MuOnline with NO_LOG backup log MuOnline with TRUNCATE_ONLY DBCC SHRINKDATABASE(MuOnline) 将上面的语句多次执行,直到日志文件缩小。 exec sp_dboption 'MuOnline','autoshrink','on' 建立作业,每半个小时一次日志备份,每天一次完全数据库备份。 在Log收缩到正常大小后,将autoshrink选项设置为off。 查询分析器里运行: backup log MuOnlie with NO_LOG backup log MuOnlie with TRUNCATE_ONLY DBCC SHRINKDATABASE(MuOnlie) 关于SQL的日志清理命令!大家看看有没有用吧! BACKUP LOG MuOnline WITH NO_LOG DBCC SHRINKDATABASE(MuOnline,10) 这是清理MuOnline日志的 千万点到MuOnline再选查询分析器 不然整理了其他数据库会出错的 看看这个 关于各种日志暴大的解决办法(3种) 关于各种日志暴大的解决办法 要限制sql日志的大小很容易,只要选到那两个数据库(muonline和ranking)然后右键属性,在数据文件和事务日志里面就可以改 关键是那个joinserver的日志,有时候很正常,一天下来顶多几十m,有时候1分钟就能赏到4个G,其实要他不生成那么大的日志很简单,只要到joinserver的目录里面把log那个目录删除或改名就可以了(我就是这么干的),一点都不影响使用,开joinserver的时候它只会说write log error,对正常使用没有影响,这样joinserver目录就一直是700多k了,哈哈 对于GS和其他的日志,因为都很小,所以就没改,个人认为其实也可以这么干的 真正解决数据库日志大的方法 首先在数据库属性里把按百分比增长从10%改为1%,这样就大大限制了增长速度 其次在每次重启服务器的时候,在查询器里执行下面的,这样的方法是我认为最安全也是最简单的,建议置顶 感觉好用的朋友顶了 backup log MuOnline with NO_LOG backup log MuOnline with TRUNCATE_ONLY DBCC SHRINKDATABASE(MuOnline) 解决数据库日志大的方法 、进入企业管理器,选中数据库,比如muonline 2、所有任务->分离数据库 3、到数据库文件的存放目录,将MuOnline_log.LDF文件删除,你怕S的话可以拷出去 4、企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个*,不要紧继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。 5、记得数据库重新附加后用户要重新设置一下 [推荐]数据库自动备份、缩小以及防止回档 不要在属性里限制数据库大小,这样文件容量满的时候会出现回档 建立作业,每天自动备份数据库,自动删除2天前的备份 建立作业,每天运行一次以下代码,缩小日志文件 backup log MuOnline with NO_LOG backup log MuOnline with TRUNCATE_ONLY DBCC SHRINKDATABASE(MuOnline) 我就是这么做的,什么问题都没有,MU服务端全部用到的空间顶多2个G 日志可以这样减肥!! 右击MuOnline,所有任务,分离数据库 然后到D:\Muserver\db 把那个.log文件删掉 你会发现MuOnline数据库消失了 右击一下,所有任务,点 附加数据库 路径指向D:\Muserver\db 选中里面的.mdf 你会发现日志有个大** 不管它,直接点确定。 系统提示找不到日志,要不要新建一个 新建一个就Ok了。 这样减肥效果不错吧。 [原创]删除MEMB_INFO或VI_CURR_INFO重复数据的方法 很多朋友在论坛里提出关于删除MEMB_INFO和VI_CURR_INFO表中重复数据的问题,有不少热心的朋友也给出了解决的方法,为解决对数据库操作不是很熟练的朋友的问题,特在此给出一个简单的方法,有时间在给大家写个存储过程 -_-# 方法如下: 将下列语句复制到查询分析器中,点“执行查询”或者按“F5”,直到下面窗口中没有显示的数据为止。(select语句为显示现在你的表中存在的重复数据,delete语句为1个1个的删除表中存在的重复数据) 如果你要删除重复数据的表为VI_CURR_INFO,请将下面语句中MUMB_INFO换成VI_CURR_INFO即可。 注意:如果表中的重复数据的MEMB_GUID的值相同请不要使用!!! 命令如下: use muonline select memb_guid,memb___id from memb_info where memb___Id in (select memb___id from memb_info group by memb___id having count(memb___id)>1) delete from memb_info where memb_guid in (select top 1 memb_guid from memb_info where memb___id in (select memb___id from memb_info group by memb___id having count(memb___id)>1)) go |
|
|
||
|