此文章主要向大家讲述的是SQL Server 恢复模式,我们大家都知道恢复模式(Recovery Model)的主要作用在于控制事务日志维护。SQL Server数据库的恢复模式说明了工作丢失的风险,能否恢复到时点?
SQL Server数据库有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式。
相对于简单恢复模式而言,完整SQL Server 恢复模式和大容量日志恢复模式提供了更强的数据保护功能。这些恢复模式都是基于备份事务日志来提供完整的可恢复性及在***范围的故障情形内防止丢失工作。通常,数据库使用完整恢复模式或简单恢复模式。
下面对三种恢复模式做一个比较:
恢复模式
日志备份
恢复点
优点
缺点
解决方案及建议
简单(Simple)
无日志备份。
自动回收日志空间以减少空间需求,实际上不再需要管理事务日志空间。
***备份之后的更改不受保护。在发生灾难时,这些更改必须重做。只能恢复到备份的结尾。
简单恢复模式可***程度地减少事务日志的管理开销,因为不备份事务日志。
如果数据库损坏,则简单SQL Server 恢复模式将面临极大的工作丢失风险。数据只能恢复到已丢失数据的***备份。
在简单恢复模式下,备份间隔应尽可能短,以防止大量丢失数据。简单恢复模式并不适合生产系统,因为对生产系统而言,丢失***的更改是无法接受的。在这种情况下,我们建议使用完整恢复模式。
完整(Full)
需要日志备份。
理论上可以恢复到任意时点。
数据文件丢失或损坏不会导致丢失工作。
此模式完整记录所有事务,占用大量空间。
大容量(Bulk-logged)
需要日志备份。
如果在***日志备份后发生日志损坏或执行大容量日志记录操作,则必须重做自该上次备份之后所做的更改。 可以恢复到任何备份的结尾。不支持时点恢复。
该模式是完整恢复模式的附加模式,允许执行高性能的大容量复制操作。通过使用最小方式记录大多数大容量操作,减少日志空间使用量。
比完整模式节省日志存储空间。
对于某些大规模大容量操作(如大容量导入或索引创建),暂时切换到大容量日志恢复模式可提高性能并减少日志空间使用量。由于大容量日志恢复模式不支持时点恢复,因此必须在增大日志备份与增加工作丢失风险之间进行权衡。
注意:
1. 适合于数据库的恢复模式取决于数据库的可用性和恢复要求。
2. 在完整恢复模式和大容量日志SQL Server 恢复模式下,必须进行日志备份。如果不想进行日志备份,则请使用简单恢复模式。
【编辑推荐】
- SQL Server自增字段插入值的步骤
- SQL Server数据库之一个 SQL 2005 XML 查询的例子
- SQL Server数据库之查看SQL日志文件大小的命令
- SQL Server存储过程之新手导航
- SQL Server 2008数据格式修改时应注意什么?