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

MSSQL
将代码页从SQL Server 7.0改变到SQL Server 2000
浅析SQL SERVER一个没有公开的存储过程
使用存储过程时一个错误的解决方法
执行一个安全的SQL Server安装
SQL导出到MYSQL的简单方法
SQL Server 7六种数据移动方法
数据库升迁从sqlserver6.5到sqlserver2000
用SQL 2000创建用户化XML流
解决SQL Server 2000之日志传送功能
保持多台服务器数据的一致性
将ACCESS转化成SQL2000需要注意的几个问题
一次特殊的SQL Server安装奇遇
实现上千万条数据的分页显示
使用用于SQL Server的IIS虚拟目录管理实用工具
SQL Server连接ACCESS数据库的实现
使用SQL Server数据转换服务升迁Access数据库
SQLServer和Access、Excel数据传输简单总结
XML文件导入SQL Server 2000
在视图中使用ORDER BY子句
内嵌或嵌入SQL和存储过程之对比

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


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

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

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

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

  简单模型

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

  完全模型

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

  块日志

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

  块日志的好处

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

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

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

  备份处理

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

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