如何使Microsoft的日志文件不会增大
来源:互联网 发布:大数据系统体系架构 编辑:程序博客网 时间:2024/06/09 00:14
<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>
如何缩小的日志文件已经是一个经常性的问题了,不过这个问题在精华区已经有不少答案了,我这里也不再赘述。
现在我们讨论一下治本的问题,即如何使日志文件不再增大?
先介绍一个简单的方法。
就是把的故障还原模型设置为“简单”(SQL2K)。这样它就会在Checkpoint的时候截断日志。
具体操作方法是:
1、在EnterpriseManager中右键点数据库,“属性|选项|故障还原”,选择“简单”就可以了,如果是SQL7,在“属性|选项”中有一个“trunc.logonchkpt.”,选中就可以了。
2、如果不想用EnterpriseManager,在QueryAnalyser或者isql里面执行
EXECsp_dboption'your_dbname','trunc.logonchkpt.','TRUE'
就可以了
但是,要注意的是,这样做了之后,虽然日志不会增大,但是也意味着你一旦出现误操作,将不会有利用日志恢复的机会。(如何利用日志来恢复请参见精华区的FAQ)
所以,绝对不建议在生产数据库上截断日志,除非你有充足的理由和足够的把握,或者……
承担责任的不是你。
既然这种方法不,下面我将介绍一种安全的方法。
大家都知道,SQLServer在完成事务日志备份时将自动截断事务日志中的不活动部分。这些不活动的部分包含已完成的事务,因此在恢复过程中不再使用。相反,事务日志的活动部分包含仍在运行但尚未完成的事务。SQLServer将重新使用事务日志中这些截断的非活动空间,而不是任由事务日志继续增大并占用更多的空间。
所以,我们备份事务日志就可以使日志文件不再增大了。
但是呢,日志文件一直放着也不是个办法,删除呢,又会失去恢复的可能性。
我们可以结合完全备份来做。做过完全备份之前的事务日志就可以删除了。
比如说,一个备份计划,每天一次完全备份,保留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>
说 明:如何使MicrosoftSQLServer的日志文件不会增大?如何缩小的日志文件已经是一个经常性的问题了,不过这个问题在精华区已经有不少答案了,我这里也不再赘述。
现在我们讨论一下治本的问题,即如何使日志文件不再增大?
先介绍一个简单的方法。
就是把的故障还原模型设置为“简单”(SQL2K)。这样它就会在Checkpoint的时候截断日志。
具体操作方法是:
1、在EnterpriseManager中右键点数据库,“属性|选项|故障还原”,选择“简单”就可以了,如果是SQL7,在“属性|选项”中有一个“trunc.logonchkpt.”,选中就可以了。
2、如果不想用EnterpriseManager,在QueryAnalyser或者isql里面执行
EXECsp_dboption'your_dbname','trunc.logonchkpt.','TRUE'
就可以了
但是,要注意的是,这样做了之后,虽然日志不会增大,但是也意味着你一旦出现误操作,将不会有利用日志恢复的机会。(如何利用日志来恢复请参见精华区的FAQ)
所以,绝对不建议在生产数据库上截断日志,除非你有充足的理由和足够的把握,或者……
承担责任的不是你。
既然这种方法不,下面我将介绍一种安全的方法。
大家都知道,SQLServer在完成事务日志备份时将自动截断事务日志中的不活动部分。这些不活动的部分包含已完成的事务,因此在恢复过程中不再使用。相反,事务日志的活动部分包含仍在运行但尚未完成的事务。SQLServer将重新使用事务日志中这些截断的非活动空间,而不是任由事务日志继续增大并占用更多的空间。
所以,我们备份事务日志就可以使日志文件不再增大了。
但是呢,日志文件一直放着也不是个办法,删除呢,又会失去恢复的可能性。
我们可以结合完全备份来做。做过完全备份之前的事务日志就可以删除了。
比如说,一个备份计划,每天一次完全备份,保留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 SQL Server的日志文件不会增大
- 如何使Microsoft SQL Server的日志文件不会增大
- 如何使Microsoft SQL Server的日志文件不会增大
- 如何使Microsoft的日志文件不会增大
- 如何使Microsoft的日志文件不会增大?
- 如何使Microsoft SQL Server的日志文件不会增大?
- 如何使Microsoft SQL Server的日志文件不会增大
- 如何增大oracle重做日志的大小
- 增大oracle重做日志的大小
- 增大oracle重做日志的大小
- SQL SERVER日志清除及禁止日志文件增大
- 如何增大二维码种的数据存储
- 如何增大Redis的客户端连接数?
- 如何增大Redis的客户端连接数?
- SQL Server事务日志意外增大的处理方法
- WordPress中如何增大上传文件限制大小
- mssql 2000数据库时间长了,日志文件就会增大,清理日志
- 国际板不会增大融资总规模
- 9i新特性之backQuery的应用-------------针对DML误操作的恢复(2)
- Window 中窗口的层次关系以及窗口的属性
- Windows Shell 编程 第九章
- 近期用linux的一些体会
- 初学者教程:ATL/COM简单工程
- 如何使Microsoft的日志文件不会增大
- 将10位ISBN加-区分国家码-出版社编码-图书编号,最终为13位
- winform+c#之窗体之间的传值 3
- VC函数中的延时操作
- 如何通过T-SQL获得当前连接的客户端的IP和机器名
- 进程管理器---一个SDK的例子
- 的一些构想(模式与数据库设计二)
- 透过绿叶看春光
- 同一程序中混合调用C和C++代码