您当前的位置: 首页 > 数据库教程 > MySQL教程 > 数据库日志清理的方法

数据库日志清理的方法

作者:不详 来源:网络 发布时间: 2010-06-02 10:09 点击:
前段时间sqlserver经常当掉,经检查是日志文件太大了,居然有将近2个g大

数据库日志清理的方法

  前段时间sqlserver经常当掉,经检查是日志文件太大了,居然有将近2个g大小。收集了一些数据库日志清理的方法:
  
  清空日志
  
  DUMPTRANSACTION库名WITHNO_LOG
  
  截断事务日志
  
  BACKUPLOG数据库名WITHNO_LOG
  
  收缩数据库
  
  DBCCSHRINKDATABASE(数据库名)
  
  --压缩日志及数据库文件大小
  
  /*--特别注意
  
  请按步骤进行,未进行前面的步骤,请不要做后面的步骤
  
  否则可能损坏你的数据库.
  
  一般不建议做第4,6两步
  
  第4步不安全,有可能损坏数据库或丢失数据
  
  第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
  
  --*/
  
  --下面的所有库名都指你要处理的数据库的库名
  
  1.清空日志
  
  DUMPTRANSACTION库名WITHNO_LOG
  
  2.截断事务日志:
  
  BACKUPLOG库名WITHNO_LOG
  
  3.收缩数据库文件(如果不压缩,数据库的文件不会减小
  
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
  
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  
  也可以用SQL语句来完成
  
  --收缩数据库
  
  DBCCSHRINKDATABASE(库名)
  
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select*fromsysfiles
  
  DBCCSHRINKFILE(1)
  
  4.为了最大化的缩小日志文件(如果是sql7.0,这步只能在查询分析器中进行)
  
  a.分离数据库:
  
  企业管理器--服务器--数据库--右键--分离数据库
  
  b.在我的电脑中删除LOG文件
  
  c.附加数据库:
  
  企业管理器--服务器--数据库--右键--附加数据库
  
  此法将生成新的LOG,大小只有500多K
  
  或用代码:
  
  下面的示例分离pubs,然后将pubs中的一个文件附加到当前服务器。
  
  a.分离
  
  EXECsp_detach_db@dbname=’库名’
  
  b.删除日志文件
  
  c.再附加
  
  EXECsp_attach_single_file_db@dbname=’库名’,
  
  @physname=’c:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\库名.mdf’
  
  5.为了以后能自动收缩,做如下设置:
  
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
  
  --SQL语句设置方式:
  
  EXECsp_dboption’库名’,’autoshrink’,’TRUE’
  
  6.如果想以后不让它日志增长得太大
  
  企业管理器--服务器--右键数据库--属性--事务日志
  
  --将文件增长限制为xM(x是你允许的最大数据文件大小)
  
  --SQL语句的设置方式:
  
  alterdatabase库名modifyfile(name=逻辑文件名,maxsize=20)

分享到:
本文"数据库日志清理的方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4