SQL Server2005 日志工作模式

  博客首页 注册 建议与交流 排行榜 加入友情链接 推荐 投诉 搜索: 帮助
 

 

工作

为了生活,必须工作;
 
wangshixian.cublog.cn  
 
 

 

 
SQL Server2005 日志工作模式
今天学习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:使用最新的完整数据库备份还原数据库

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

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

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

 

 

  1. 失败时创建当前活动事务日志的尾日志备份。
  2. 还原上午 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:使用最新的完整数据库备份还原数据库

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

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

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

 

 

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

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

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

RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY

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

RESTORE DATABASE database_name WITH RECOVERY

 
 

 

发表于: 2007-12-18 ,修改于: 2007-12-18 17:39,已浏览35次,有评论0条 推荐 投诉
 

 


网友评论
 

发表评论
 

你可能感兴趣的:(oracle,sql,工作,数据库,server,活动,database)