如何使Microsoft SQL Server的日志文档不会增大…

2008-04-02 10:43:41来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

如何缩小MSSQL的日志文档已是个经常性的问题了,但是这个问题在精华区已有不少答案了,我这里也不再赘述。
现在我们讨论一下治本的问题,即如何使日志文档不再增大?

先介绍一个简单的方法。
就是把数据库的故障还原模型配置为“简单”(SQL2K)。这样他就会在Checkpoint的时候截断日志。
具体操作方法是:
1、在Enterprise Manager中右键点数据库,“属性|选项|故障还原”,选择“简单”就能够了,假如是SQL7,在“属性|选项”中有一个“trunc. log on chkpt. ”,选中就能够了。
2、假如不想用Enterprise Manager,在Query Analyser或isql里面执行
EXEC sp_dboption 'your_dbname', 'trunc. log on chkpt.', 'TRUE'
就能够了
但是,要注意的是,这样做了之后,虽然日志不会增大,但是也意味着您一旦出现误操作,将不会有利用日志恢复的机会。(如何利用日志来恢复请参见精华区的FAQ)
所以,绝对不建议在生产数据库上截断日志,除非您有充足的理由和足够的把握,或……
承担责任的不是您。

既然这种方法不安全,下面我将介绍一种安全的方法。
大家都知道,SQL Server 在完成事务日志备份时将自动截断事务日志中的不活动部分。这些不活动的部分包含已完成的事务,因此在恢复过程中不再使用。相反,事务日志的活动部分包含仍在运行但尚未完成的事务。SQL Server 将重新使用事务日志中这些截断的非活动空间,而不是任由事务日志继续增大并占用更多的空间。
所以,我们备份事务日志就能够使日志文档不再增大了。
但是呢,日志文档一直放着也不是个办法,删除呢,又会失去恢复的可能性。
我们能够结合完全备份来做。做过完全备份之前的事务日志就能够删除了。
比如说,一个备份计划,每天一次完全备份,保留7天内的,每15分钟一次事务日志备份,保留2天的。
用数据库维护计划向导能够很方便的建立备份计划,但是一定要记得配置保留多久的备份哦,否则硬盘空间被备份给占满了就坏事了。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 优化SQL

下一篇: SQL Server非正常删除日志文档(ldf)恢复方法