English

速达软件
     
当前位置:速达软件 >> 技术支持 >> 浏览文章

使SQL Server日志文件不会增大的方法

发布日期:2009年07月31日 浏览次数: 作者:佚名  

  如何缩小MSSQL的日志文件已经是一个经常性的题目了,不过这个题目在精华区已经有不少答案了,我这里也不再赘述。如今我们讨论一下治本的题目,即如何使日志文件不再增大?b$OKWOI .#_2!3s?ZE
=|)=.j1CRsayMeQ?
  先介绍一个简单的方法。
ynJ97XAYn ,WU,

  就是把数据库的故障还原模型设置为“简单”(SQL2K)。如许它就会在Checkpoint的时候截断日志。WLfahgI=rmU5FA8'`

  详细操作方法是:'x*[Jq=L jyE6=slK

  1、在Enterprise Manager中右键点数据库,“属性|选项|故障还原”,选择“简单”就可以了,假如是SQL7,在“属性|选项”中有一个“trunc. log on chkpt. ”,选中就可以了。,2?r& Yse1FgX

  2、假如不想用Enterprise Manager,在Query Analyser或者isql里面实行

?z4u'UiNUUl[KaXW

  但是,要细致的是,如许做了之后,虽然日志不会增大,但是也意味着你一旦出现误操作,将不会有行使日志恢复的机会。(如何行使日志来恢复请参见精华区的FAQ)所以,绝对不建议在生产数据库上截断日志,除非你有足够的理由和充足的把握,或者…… JA5S? s4II^[Nm

  承担责任的不是你。p,"z8{Y@4 JIdCu9
7W?jas%zN^0.7UO
  既然这种方法不安全,下面我将介绍一种安全的方法。
q;2&7[&umnlG+7" O'c

  大家都知道,SQL Server 在完成事务日志备份时将主动截断事务日志中的不运动部分。这些不运动的部分包含已完成的事务,因此在恢复过程中不再使用。相反,事务日志的运动部分包含仍在运行但尚未完成的事务。SQL Server 将重新使用事务日志中这些截断的非运动空间,而不是任由事务日志继承增大并占用更多的空间。9"ew*o?G?=Ih:Q NhLF

  所以,我们备份事务日志就可以使日志文件不再增大了。='c};s*A@[8zay@T

  但是呢,日志文件一向放着也不是个办法,删除呢,又会失去恢复的可能性。&d .Y j#Xoos,?!V\

  我们可以结合完全备份来做。做过完全备份之前的事务日志就可以删除了。lo* -HZ[KYnnI^L\?

  比如说,一个备份计划,天天一次完全备份,保留7天内的,每15分钟一次事务日志备份,保留2天的。8[Ye 5|)xt|G8 Sr^

  用数据库维护计划领导可以很方便的建立备份计划,不过肯定要记得设置保留多久的备份哦,否则硬盘空间被备份给占满了就坏事了。M^* "]ywcfmzS]9

mbO~?[ ;h.C"Ai4

EXEC sp_dboption 'your_dbname', 'trunc. log on chkpt.', 'TRUE'
er R\W6_dP6=Xv_~3E
[版权归原作者及coolcxm共同拥有,转载请注明出处]
 
上一篇:在SQL Server中快速删除重复记录 下一篇:速达3000系列,5000系列及财务系列启用账套可更改的项目及不可更改的项目