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

转载 2008年05月01日 03:12:00
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
说   明:如何使Microsoft SQL Server日志文件不会增大


如何缩小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天的。
用数据库维护计划向导可以很方便的建立备份计划,不过一定要记得设置保留多久的备份哦,否则硬盘空间被备份给占满了就坏事了。

 

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

如何使Microsoft的日志文件不会增大?

  • zgqtxwd
  • zgqtxwd
  • 2008-04-28 06:42:00
  • 133

如何使Microsoft SQL Server的日志文件不会增大?

  • zgqtxwd
  • zgqtxwd
  • 2008-04-30 15:30:00
  • 133

如何使Microsoft的日志文件不会增大

  • zgqtxwd
  • zgqtxwd
  • 2008-04-27 15:59:00
  • 153

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

 SQL SERVER日志清除的两种方法  在使用过程中大家经常碰到数据库日志非常大的情况,在这里介绍了两种处理方法……   方法一  一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其...
  • linjcong
  • linjcong
  • 2007-01-19 08:47:00
  • 1355

SqlServer 一个查询语句导致tempdb增大55G

今天操作着服务器,突然右下角提示“C盘空间不足”! 吓一跳!~ 看看C盘,还有7M!!!这么大的C盘空间怎么会没了呢?搞不好等下服务器会动不了! 第一反应就想可能是日志问题,很可能是数据库日志问题 于...
  • kk185800961
  • kk185800961
  • 2015-02-05 17:39:28
  • 2509

记一次处理日志文件过大问题的解决过程(SQL Server)

问题描述: SQL2008R2的一个DB, 兼容等级=100, 恢复模式=full, 数据量约30GB. 之前一直正常运行, 最近日志文件暴涨(日志文件66G),  日志备份作业执行很久没完成, 手工...
  • ap0405140
  • ap0405140
  • 2015-12-09 10:52:38
  • 1441

关于SQL SERVER日志满或过大的处理方法

SQL Server 的事务日志意外增大或充满的处理方法事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf。在 SQL Server 7.0 和 SQL...
  • long2006sky
  • long2006sky
  • 2007-05-08 21:34:00
  • 1296

查看sql server 2005安装日志文件和手动启动sql server

SQL2005的安装问题汇总SQL2005 分五个版本,如下所列,  1.Enterprise(企业版),        2.Development(开发版),  3.Workgroup,(工作群版)...
  • xkgg
  • xkgg
  • 2010-08-10 15:35:00
  • 5375

SQL SERVER 事务日志文件不停增长解决

1.3  日志文件不停增长事务日志文件是一个SQL Server数据库的另一个重要组成部分。每个数据库都有事务日志,用于记录所有事务以及每个事务对数据库所做的修改。为了提高数据库的整体性能,SQL S...
  • yizhiduxiu11
  • yizhiduxiu11
  • 2010-08-27 01:17:00
  • 6854

SqlServer2012清除日志文件

SqlServer在使用中会产生大量的日志文件,当不需要的时候可以进行删除。 删除方式: 右键数据库-->任务-->收缩-->文件 进入收缩文件页面,按照如下配置就可以了...
  • nidongde521
  • nidongde521
  • 2017-06-20 09:37:53
  • 5439
收藏助手
不良信息举报
您举报文章:如何使Microsoft SQL Server的日志文件不会增大
举报原因:
原因补充:

(最多只允许输入30个字)