SQL Server数据库的恢复模式

数据库的恢复模式是数据库遭到破坏时还原数据库中数据的数据存储方式,它与可用性、性能、磁盘空间等因素相关。每一种恢复模式都按照不同的方式维护数据库中的数据和日志。Microsoft SQL Server 2008系统提供了以下3种数据库的恢复模式:

完整恢复模式

大容量日志记录的恢复模式

简单恢复模式


完整恢复模式是最高等级的数据库恢复模式。在完整恢复模式中,对数据库的所有操作都记录在数据库的事务日志中。即使那些大容量数据操作和创建索引的操作,也都记录在数据库的事务日志中。当数据库遭到破坏之后,可以使用该数据库的事务日志迅速还原数据库。

在完整恢复模式中,由于事务日志记录了数据库的所有变化,所以可以使用事务日志将数据库还原到任意的时刻点。但是,这种恢复模式耗费大量的磁盘空间。除非是那种事务日志非常重要的数据库备份策略,否则一般不建议使用这种恢复模式。

就像完整恢复模式一样,大容量日志记录的恢复模式也使用数据库备份和日志备份来还原数据库。但是,在使用了大容量日志记录的恢复模式的数据库中,其 事务日志耗费的磁盘空间远远小于使用完整恢复模式的数据库的事务日志。在大容量日志记录的恢复模式中,CREATE INDEX、BULK INSERT、BCP、SELECT INTO等操作不记录在事务日志中。

对于那些规模比较小的数据库或数据不经常改变的数据库来说,可以使用简单恢复模式。当使用简单恢复模式时,可以通过执行完全数据库备份和增量数据库 备份来还原数据库,数据库只能还原到执行备份操作的时刻点。执行备份操作之后的所有数据修改都丢失并且需要重建。这种模型的特点是数据库没有事务日志。这 种模型的好处是耗费比较少的磁盘空间,恢复模式最简单。


用T-SQL设置恢复模式

你可以使用“ALTER DATABASE”命令加“SET RECOVERY”语句来修改数据库的恢复模式。例如,下面的查询语句把“AdventureWorks”数据库的恢复模式设置为完全恢复模式。

ALTER DATABASE AdventureWorks SET   RECOVERY FULL   ;

你可以查询“sys.databases”的目录视图,验证数据库的恢复模式状态。语句如下:

SELECT   name, recovery_model,   recovery_model_desc FROM sys.databases WHERE   name = 'AdventureWorks'   ;

你可以使用如下语句把数据库设置为大批量操作模式或者简单恢复模式,只需要在“”位置替换为你自己数据库的名称就可以了。

--Changing recovery model to Bulk-loggedALTER DATABASE AdventureWorks SET   RECOVERY BULK_LOGGED   ;--Changing recovery model to SimpleALTER DATABASE AdventureWorks SET   RECOVERY SIMPLE   ;

在创建新数据库时,它会从模型数据库中继承恢复模式,默认是完全恢复模式。要修改默认恢复模式,你可以使用“ALTER DATABASE”语句修改模型数据库的恢复模式。

请注意,如果打算维护一致的事务日志备份,就不能切换到简单恢复模式,也不能从简单恢复模式改为其它。
使用SQL Server管理工具(SSMS)修改恢复模式

你可以在SQL Server管理工具中修改数据库的恢复模式。在对象浏览器中,右键单击你的数据库(在数据库节点下),然后点击属性。在数据库属性对话框中,点击选项标签页,然后修改恢复模式如下:


wKiom1U9nkGzb-OsAADjfJpgGb4559.jpg

你可能感兴趣的:(sql,server)