设为首页 收藏本站
查看: 741|回复: 0

[经验分享] SQL Server2005 日志工作模式

[复制链接]

尚未签到

发表于 2016-11-12 00:35:05 | 显示全部楼层 |阅读模式
今天学习SQL Server 2005 的日志的几种工作模式

SQL Server2005 有3种工作模式
简单日志模式
简单来说可以理解为类似于oracle的非归档模式,但是同oracle的工作模式还是有很大差异的。
日志文件会自动覆盖,这样如果两次全备份时间间隔较长,日至文件有可能出现覆盖,这样数据损坏时,数据只能恢复到全备份的时刻。如果向恢复到任意时间,需要在完全日志模式下。
如何切换到简单模式下:
USE master;

ALTER DATABASE database_name SET RECOVERY SIMPLE;


完全日志工作模式
可以理解为类似于oracle的 归档模式,如果不维护日志文件会无限扩展,直道把硬盘空间撑爆。
日志会无限增长,所以需要维护。完全备份后,一般会进行日至备份,日至备份时会自动进行日至截断。两次全备份期间,如果硬盘空间不是足够大最好进行几次日至备份,以免日志太大。

大容量日志工作模式
大容量日志恢复模式旨在严格作为完整恢复模式的附加补充。我们建议您仅在运行大规模大容量操作期间以及在不需要数据库的时点恢复时使用该模式。
该恢复模式下,多数大容量操作仅进行最小日志记录。如果使用完整恢复模式,则可以在执行此类大容量操作前临时切换到大容量日志恢复模式。通常,大容量日志恢复模式与完整恢复模式相似,只是它按最小方式记录多数大容量操作。事务日志备份捕获日志以及自上次备份后已完成的所有按最小方式记录的操作结果。这会使日志备份非常大。因此,大容量日志恢复模式仅适合在能够以最小方式记录操作的大容量操作期间使用。我们建议在其余时间使用完整恢复模式。当完成一组大容量操作后,我们建议您立即切换回完整恢复模式。



日志截断(在简单恢复模式下自动执行)对于防止日志变满至关重要。意思是把日至标记为不活动状态,新的日至可以覆盖老的日至。

sql server备份需要备份数据文件。也可以选择同时备份日志文件,日至文件在备份后会自动截断,利用数据文件的备份和日志文件的备份,理论上可以恢复数据库到任意时间点。
频繁的日志备份还有增加日志截断频率的优点,其结果是日志文件更小。 通常,事务日志在每次常规日志备份之后截断。


恢复模式  说明  工作丢失的风险  能否恢复到时点?  
简单
无日志备份。

自动回收日志空间以减少空间需求,实际上不再需要管理事务日志空间。
最新备份之后的更改不受保护。在发生灾难时,这些更改必须重做。
只能恢复到备份的结尾。

完整
需要日志备份。

数据文件丢失或损坏不会导致丢失工作。

可以恢复到任意时点(例如应用程序或用户错误之前)。
正常情况下没有。

如果日志尾部损坏,则必须重做自最新日志备份之后所做的更改。有关详细信息,请参阅尾日志备份。
如果备份在接近特定的时点完成,则可以恢复到该时点。有关详细信息,请参阅将数据库还原到备份中的某个时间点。

大容量日志
需要日志备份。

是完整恢复模式的附加模式,允许执行高性能的大容量复制操作。

通过大容量日志记录大多数大容量操作,减少日志空间使用量。
如果在最新日志备份后发生日志损坏或执行大容量日志记录操作,则必须重做自该上次备份之后所做的更改。

否则不丢失任何工作。
可以恢复到任何备份的结尾。不支持时点恢复。




为还原顺序准备足够的日志备份
您必须备份足够的日志记录才能完成还原顺序。必要的日志备份(需要时包含尾日志备份)必须在还原顺序开始之前可用。

使用日志备份来还原故障点
假设有下列事件顺序。

时间  事件  
上午 8:00
备份数据库以创建完整数据库备份。

中午
备份事务日志。

下午 4:00
备份事务日志。

下午 6:00
备份数据库以创建完整数据库备份。

晚上 8:00
备份事务日志。

晚上 9:45
出现故障。


注意:  
有关此示例备份顺序的说明,请参阅创建事务日志备份。  

若要将数据库还原到晚上 9:45(故障点)时的状态,可以使用以下两种备选过程:

备选过程 1:使用最新的完整数据库备份还原数据库

失败时创建当前活动事务日志的尾日志备份。

不要还原上午 8:00 的完整数据库备份。相反,应还原下午 6:00 的这一时间更近的完整数据库备份,然后应用晚上 8:00 的日志备份和尾日志备份。
对晚上 9:45 的事务尾日志备份再执行一次上述操作。

备选过程 2:使用较早的完整数据库备份还原数据库

注意:  
如果出现问题,使您无法使用下午 6:00 的完整数据库备份,则此备选过程将十分有用。此过程比从下午 6:00 的完整数据库备份还原所需的时间长。  

失败时创建当前活动事务日志的尾日志备份。

还原上午 8:00 的完整数据库备份,然后按顺序还原所有四个事务日志备份。所有完成的事务都将前滚到晚上 9:45。
此备选过程指出了冗余安全性,该安全性通过维护一系列完整数据库备份中的事务日志链备份来获得。

使用日志备份还原到特定的时间点
某些情况下,您还可以使用事务日志将数据库还原到特定的时间点。有关详细信息,请参阅将数据库还原到备份中的某个时间点。

应用事务日志备份
最佳方法是使用 WITH NORECOVERY 还原所有日志备份:

RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY

还原上一次日志备份后,用单独的操作恢复数据库:

RESTORE DATABASE database_name WITH RECOVERY

为还原顺序准备足够的日志备份
您必须备份足够的日志记录才能完成还原顺序。必要的日志备份(需要时包含尾日志备份)必须在还原顺序开始之前可用。

使用日志备份来还原故障点
假设有下列事件顺序。

时间  事件  
上午 8:00
备份数据库以创建完整数据库备份。

中午
备份事务日志。

下午 4:00
备份事务日志。

下午 6:00
备份数据库以创建完整数据库备份。

晚上 8:00
备份事务日志。

晚上 9:45
出现故障。


注意:  
有关此示例备份顺序的说明,请参阅创建事务日志备份。  

若要将数据库还原到晚上 9:45(故障点)时的状态,可以使用以下两种备选过程:

备选过程 1:使用最新的完整数据库备份还原数据库

失败时创建当前活动事务日志的尾日志备份。

不要还原上午 8:00 的完整数据库备份。相反,应还原下午 6:00 的这一时间更近的完整数据库备份,然后应用晚上 8:00 的日志备份和尾日志备份。
对晚上 9:45 的事务尾日志备份再执行一次上述操作。

备选过程 2:使用较早的完整数据库备份还原数据库

注意:  
如果出现问题,使您无法使用下午 6:00 的完整数据库备份,则此备选过程将十分有用。此过程比从下午 6:00 的完整数据库备份还原所需的时间长。  

失败时创建当前活动事务日志的尾日志备份。

还原上午 8:00 的完整数据库备份,然后按顺序还原所有四个事务日志备份。所有完成的事务都将前滚到晚上 9:45。
此备选过程指出了冗余安全性,该安全性通过维护一系列完整数据库备份中的事务日志链备份来获得。

使用日志备份还原到特定的时间点
某些情况下,您还可以使用事务日志将数据库还原到特定的时间点。有关详细信息,请参阅将数据库还原到备份中的某个时间点。

应用事务日志备份
最佳方法是使用 WITH NORECOVERY 还原所有日志备份:

RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY

还原上一次日志备份后,用单独的操作恢复数据库:

RESTORE DATABASE database_name WITH RECOVERY




本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bigstoneasd/archive/2008/01/31/2074766.aspx

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-298896-1-1.html 上篇帖子: T-sql字符处理函数 下篇帖子: SQL数据库设计经验
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表