SQL Server误区30日谈 第24天 26个有关还原(Restore)的误区
本系列文章一直所没有触及的就是有关”还原(Restore)”的话题,因为一旦牵扯到这个话题就会涉及大量的误区,多到我无法通过一篇文章说完的地步。
事实上,我希望用字母表的顺序为每一个误区进行编号,希望你看了不要昏昏欲睡。下面开始揭穿这26个误区。
误区 #24: 26个有关还原(Restore)的误区
都是错误的
24 k)还原是从损坏中恢复的最佳办法
不是,并不完全是。这要取决于你有的备份类型。如果损坏的数据比较多,那么利用还原是一个不错的主意,但如果损失的数据比较少并允许一些数据损失的情况下,亦或是由事务日志传送的辅助服务器回传一些日志的情况下,那么downtime就会少很多。最佳办法就是在可接受的数据损失范围内,在尽量少的downtime修复损坏。
24 l)在开始还原之后还可以备份尾端日志
不允许,一旦你开始还原之后,就不再允许备份尾端日志。所以当灾难发生之后,第一件事永远都是查看是否需要备份尾端日志。
24 p)RESTORE ... WITH VERIFYONLY选项会验证整个备份集
不,这个选项仅仅检查备份的头是否正确。只有使用WITH CHECKSUM才可以完整备份集的校验和检查。
24 q)可以在不还原证书的情况下,还原被透明数据加密的数据库
不能,对于透明数据加密最重要的一点要记住,证书丢了意味着整个数据库就没了。
24 r)当还原过程完成后,还原会进行Redo和Undo
每次还原操作后其实执行的都是Redo操作,只有在整个还原过程完成后,才会进行Undo。
24 s)压缩备份集只能被还原到SQL Server 2008企业版中
不,所有的版本都能还原压缩后的备份。从SQL Server 2008 R2开始,标准版也可以进行压缩备份。
24 t)将低版本的数据库还原到高版本的实例可以跳过升级过程
不允许,在数据还原和附加的过程中是不允许跳过必须的升级和恢复过程。
24 u)在32位实例下备份的数据库无法恢复到64位实例。反之亦然
错误,数据库的内部格式和CPU构架无关。
24 v)只要进行数据还原,就可以保证程序正常执行
不对,就像高可用性中的镜像故障转移和事务日志传送转移到辅助服务器一样,还有很多额外的步骤需要做才能保证程序正常执行。包括辅助数据库和正确的登录名等。
24 w)还原受损的文件需要从多个文件组进行还原,则必须还原相关的所有文件组
不,在SQL Server 2000中的确是这样,但在SQL Server 2005以后的版本就完全不用了。
24 x)你可以将数据库还原到任何最新版本的实例
不对,数据库只能还原到比其新的一个或两个版本.(比如SQL Server 7.0下的数据库就不能还原到SQL Server 2008)。
24 y)恢复时间和还原时间是一样的
不,很多因素会影响还原的时间,比如说是否有长事务需要回滚,或是即时文件初始化特性是否开启。
24 z)在还原数据库之前需要先Drop被还原的数据库
不是的,如果你在还原数据库之前Drop被还原的数据库,那么还原过程首先需要即时文件初始化,还有,你最好保留被还原数据库的副本以便还原失败的情况下把损失减到最小。
相关文章
sp_executesql 使用复杂的Unicode 表达式错误的解决方法
sp_executesql 使用复杂的Unicode 表达式错误的解决方法,需要的朋友可以参考下2012-01-01INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别
INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别介绍,需要的朋友可以参考下面的说明与条件2012-05-05MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法
在SQL SERVER中批量替换字符串的方法2010-04-04
最新评论