当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 专家在线:SQL Server块日志恢复

MSSQL
无数据库日志文件恢复数据库方法两则(一)
SQLServer编写存储过程小工具(一)
SQLServer编写存储过程小工具(二)
SQLServer编写存储过程小工具(三)
Eclipse+JBoss+MySQL开发环境设置
MYSQL使用简述
一些有用的sql语句实例
枚举SQLServer的实例
SQLServer应用程序中的高级SQL注入
SQL Server数据库超级管理员账号防护知识
讲解如何实现互联网上数据库的安全
SQL 2005数据库转到SQL 2000的步骤讲解
带你轻松接触数据库生成xml的两个方法
用MS SQL Reporting Services生成报表
保护SQL Server的十个步骤
关于SQL SERVER的一些安全问题
SQL Server 2008数据库中使用表值参数
SQL Server 2005中用存储过程实现搜索功能
MS SQL数据库置疑解决办法
SQL Server密码管理的六个危险判断

MSSQL 中的 专家在线:SQL Server块日志恢复


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 135 ::
收藏到网摘: n/a

SQL Server提供了三种恢复模型:简单,完全和块日志模型。这些模型为你从备份中重新存储数据库提供了各种层级的恢复。块日志恢复的优点包括对事务日志空间的最小要求,块操作的最好性能。虽然如此,仍需消息。它的一个缺点就是当你在备份文件中执行块日志的事务的时候,你无法进行某个时间点的恢复。

  在这篇贴士中,我将会解释你可能会想要选择块日志作为SQL Server恢复手段的环境,以及在这个模型下,你需要哪些步骤来对数据库进行重新存储。

  作为回顾,这里列举了各个恢复模型之间的区别:

  简单模型

  简单恢复模型只能允许你将数据恢复到最近的一次完全备份或者差别备份。事务日志备份不可用,因为事务日志的内容在每次数据库执行检查点的时候都被截断了。

  完全模型

  完全恢复模型可以使用完全备份,差别备份和事务日志备份来提供安全网来抵御完全的失败。因为它可以使用完全或者差别备份来进行重新存储,你就可以将数据库恢复到失败的那个点或者其它某个特定的时间点上去。所有的操作,包括块操作,例如SELECT INTO, CREATE INDEX和块载入数据,都是完全记录日志并可以恢复的。

  块日志

  块日志恢复模型可以提供预防失败的保护,提供最好的性能。为了获得更好的性能,只在最低限度上记录如下的操作,并不是可以完全恢复的:SELECT INTO, 块操作, CREATE INDEX,以及其它有关文字和图像的操作。在块日志恢复模型中,损坏的数据文件将会由于日志的不充分而导致手工完成redo的工作。此外,块日志恢复模型可以让数据库恢复到事务日志备份的结尾,只有当日志备份包含了块更改的时候。

  块日志的好处

  使用块日志恢复模型的一个主要的好处就是他最小化了事务日志所需要的空间,这样它就可以跟踪事务中的某个单个的操作。这一点在你的系统很大,你需要导入大量数据或者创建一个大索引的时候,非常有用。事务仍然被提交了,并且写入了你的数据文件,但是事务日志所需要的空间却没有完全恢复模型那么大。在测试中,你可以看到,插入数据仍然需要大量的事务日志空间,但是创建索引所需要的空间则小得多。

  根据SQL Server备份和恢复模型工作的方式,你可以选择将你的模型从完全恢复改变到块日志恢复,然后再在需要的时候,恢复到完全恢复模型,而不需要干扰年的事务日志备份。这可以让你在执行较大的块日志事务的时候,能够保证事务日志的规模在控制之内。

  要注意的一件事情就是事务写入事务日志备份的方式。如果在你的备份文件中有块日志事务,你就不能进行时间点的恢复。这也是你在处理重新存储的时候需要注意的最大的一件事情。当事务日志备份中存在块日志事务的时候,你必须重新存储整个事务日志。

  备份处理

  备份处理的工作方式一样,无论你的数据库是在完全还是块日志恢复模型。你仍然有选择使用完全、区别和事务日志备份的自由。命令也是完全相同的,如下所示:

  事务日志备份需要注意的另外一件关键的事情就是事务日志备份文件的尺寸。如果你设置了你的数据库采用块日志恢复模型,并且执行了最低限度的日志事务,例如CREATE INDEX,你会看到事务日志自身并没有增大。但是当你执行的是事务日志备份语句的时候,悲愤文件就会变得非常大,因为所有为了重新存储你的数据库的语句所需要重放的数据都存下来了。