ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL Server 2008指定恢复模式

SQL Server 2008指定恢复模式

原创 Linux操作系统 作者:iSQlServer 时间:2009-01-20 10:01:32 0 删除 编辑

恢复模式综述
SQL Server 2005为数据库提供了三种恢复模式:完整、简单和大容量日志。这些模式决定了SQL Server如何使用事务日志,如何选择它要记录的操作,以及是否截断日志。截断事务日志是删除已执行事务并把该日志空间让给新事务的过程。下面是每种恢复模式的定义。

 在完整恢复模式下,数据库引擎把所有操作都记录到事务日志上,并且数据库引擎绝对不会截断日志。完整恢复模式能使数据库恢复到故障时间点(在SQL Server 2005 Enterprise版中,恢复到一个比这更早一些的时间点)。

在简单恢复模式下,数据库引擎最低限度地记录大多数操作,并在每个检查点之后截断事务日志。在简单恢复模式下,不能备份或还原事务日志。此外,也不能还原单独的数据页。

重要提示  简单恢复模式
简单恢复模式并不适合那些无法接受丢失最新更改的数据库。

在大容量日志模式下,数据库引擎对大容量操作(诸如SELECT INTO和BULK INSERT)进行最小记录。在这种恢复模式下,如果一个日志备份包含任何大容量操作,就可以使数据库恢复到日志备份的结尾,但不能恢复到某个时间点。大容量日志模式仅用于大容量操作期间。

如何配置恢复模式
在SSMS中的“数据库属性”页上可以查看为一个给定数据库指定的恢复模式,对此也可以通过查询sys.database目录视图,其基本语法如下所示:

SELECT name, recovery_model_desc FROM sys.databases

要配置一个数据库的恢复模式,可以进入SSMS中的“数据库属性”页,也可以使用ALTER DATABASE语句。

在SSMS中,通过执行下列步骤可以改变恢复模式。

1. 在SSMS的“对象资源管理器”下展开“数据库”节点。

2. 右击需要设置恢复模式的数据库,然后选择“属性”。选择“选项”页。

3. 这时就可以通过“恢复模式”下拉列表改变恢复模式,如图2.3所示。

 

通过SSMS改变恢复模式

使用ALTER DATABASE语句配置恢复模式的基本语法如下:

ALTER DATABASE

SET RECOVERY FULL | SIMPLE | BULK_LOGGED

如前所述,在生产环境下建议对数据库使用完整恢复模式,因为它提供了最可恢复的配置。如果通过大容量机制定期导入数据,则可以临时将数据库的恢复模式改变为大容量日志模式,以获得更好的大容量负载性能。然而,在导入过程结束以后,应将数据库恢复为完整恢复模式。

将数据库恢复模式改变为大容量日志,以获得大容量日志操作的良好性能,然后恢复到完整恢复模式。

1.通过执行如下ALTER DATABASE语句,将AdventureWorks数据库的数据库恢复模式设置为大容量日志恢复模式。(在改变恢复模式前,对该数据库作完整备份。)

-- Note that you should create the C:"Backup folder at Operating
    System level before running this backup.

BACKUP DATABASE AdventureWorks TO DISK='C:"Backup"
AdventureWorks.Bak'

GO

--Change the Recovery Model to Bulk Logged

ALTER DATABASE AdventureWorks

SET RECOVERY BULK_LOGGED

2. 在执行大容量日志操作以后,输入并运行如下ALTER DATABASE语句,将恢复模式改回完整恢复模式,然后执行另一次完整的数据库备份,以备份刚刚装入的数据。

ALTER DATABASE AdventureWorks

SET RECOVERY FULL

--Perform. a Full database backup

BACKUP DATABASE AdventureWorks TO DISK='C:"Backup"
AdventureWorks.Bak'

GO

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-541495/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2145086