位置: 编程技术 - 正文

SQL Server误区30日谈 第24天 26个有关还原(Restore)的误区(sqlserver1053怎么解决)

编辑:rootadmin
本系列文章一直所没有触及的就是有关”还原(Restore)”的话题,因为一旦牵扯到这个话题就会涉及大量的误区,多到我无法通过一篇文章说完的地步。事实上,我希望用字母表的顺序为每一个误区进行编号,希望你看了不要昏昏欲睡。下面开始揭穿这个误区。误区 #: 个有关还原(Restore)的误区都是错误的 a)可以通过WITH STOPAT参数在完整备份和差异备份的基础上还原到特定时间点当然不能。虽然这个语法看上去貌似能的样子,但这个语法的最佳实践是你在进行日志还原到特定时间点时带上,这样你的还原就不会超过这个时间点(译者注:比如说还原的第一个日志备份中不包含这个时间点,但你带上这个参数则这个日志备份会被全部还原,直到你还原到包含时间点的日志备份而不用担心还原过头),对此我之前的一篇文章会更有帮助:Debunking a couple of myths around full database backups。 b)使用了WITH CONTINUE_AFTER_ERROR选项之后还可以按照既定的还原顺序进行还原错误。如果你的备份集有损坏而不得不使用这个选项,那么你的还原顺序将会不复存在。当进行日志还原时日志损坏,那么使用这个选项之前就需要三思而后行,因为这很有可能造成数据不一致的问题。在最坏的情况下会造成数据库中结构被破坏,我不推荐使用这个选项。 c)可以将数据库的一部分还原到特定时间点不能,数据库的每个部分都需要和主文件组时间点一致,否则就无法上线。当然只读文件组除外。 d)可以将不同数据库的不同文件组还原到一个新的数据库中不能,每个数据库的文件头页(译者注:也就是页号为0的页)都有一个GUID,除非这个GUID和另外数据库的GUID一致才能还原(这当然不可能)。 e)还原可以去除索引碎片(或是更新统计信息等等)不能,你备份的是什么还原的就是什么,我之前的一篇文章对此有更详细的解释:blog post over on our SQL Server Magazine Q&A blog。 f)在还原的过程中可以进行数据库收缩不能,虽然大家都需要这个功能,在开发环境下恢复一个大部分是空的备份集时这就十分有用。但就是不能。 g)可以将数据库还原到任何更低版本的实例不能,这是一个普遍存在的误区。低版本的实例对于高版本的数据库的部分内容有可能无法理解(比如sql server 的数据库就无法理解SQL Server 数据库的一些内容)。 h)可以将数据库还原到任意版本的SQL Server中错误,比如说SQL Server ,一个含有表分区的数据库只能还原到企业版中。在SQL Server 只能还原到企业版的数据库包含了如下特性:分区,透明数据加密,CDC,数据压缩。有关这里我已经写过一篇文章,请看:SQL Server : Does my database contain Enterprise-only features?。 i)WITH STANDBY参数会破坏还原链不会,这个参数的作用是使得在还原的过程中,保证数据库事务级别的一致性。从还原顺序的角度来说,With Standby参数WITH NORECOVERY并无区别。你可以在还原的过程中停止N次。这也是事务日志传送的机制。经常有人会问在事务传送的辅助服务器进行日志恢复的过程是否能访问,至此你应该知道是可以只读访问的。同时,这个选项也可能造成一些诡异的问题,请看:Why could restoring a log-shipping log backup be slow?。 j)如果备份数据库的服务器没有开启即时文件初始化选项,那么恢复的服务器就不能利用这个特性是否能进行即时文件初始化完全取决于被还原的服务器受否开启这个特性。备份集中不会含有任何有关这点的信息。更详细的内容请看:SQL Server误区日谈-Day3-即时文件初始化特性可以在SQL Server中开启和关闭。 k)还原是从损坏中恢复的最佳办法不是,并不完全是。这要取决于你有的备份类型。如果损坏的数据比较多,那么利用还原是一个不错的主意,但如果损失的数据比较少并允许一些数据损失的情况下,亦或是由事务日志传送的辅助服务器回传一些日志的情况下,那么downtime就会少很多。最佳办法就是在可接受的数据损失范围内,在尽量少的downtime修复损坏。 l)在开始还原之后还可以备份尾端日志不允许,一旦你开始还原之后,就不再允许备份尾端日志。所以当灾难发生之后,第一件事永远都是查看是否需要备份尾端日志。 m)你可以还原到在备份的日志范围之内的任何时间点这是不对的。如果日志中包含了那些那些仅仅少量日志的操作(比如批量数据导入操作),这类操作具有原子性,要么全部还原,要么不还原。这是由于这类操作对于区的进行了修改,但备份集中并没记录何时修改了这些区。你可以通过如下脚本查看日志备份包含的信息量:New script: how much data will the next log backup include?。 n)只要备份成功,就可以利用这个备份集进行还原No,no,no。备份集只是存储在IO子系统的文件,就和数据库的文件一样。它也有损坏的可能。你需要定期检查备份是否被损坏,否则当灾难发生后的惊喜怕你是承受不了。请看:Importance of validating backups。另外一点需要注意的是避免额外的完整备份破坏恢复顺序,这个例子或许会给你一点警示:BACKUP WITH COPY_ONLY - how to avoid breaking the backup chain。 o)所有的SQL Server页类型都可以通过单页恢复进行还原不,一些分配位图的页(译者注:比如GAM,SGMA,FPS页等)不能通过进行单页还原(这类页可以通过SQL Server 的镜像进行自动页修复)。详情你可以看我这篇文章:Search Engine Q&A #: Can all page types be single-page restored?。 p)RESTORE ... WITH VERIFYONLY选项会验证整个备份集不,这个选项仅仅检查备份的头是否正确。只有使用WITH CHECKSUM才可以完整备份集的校验和检查。 q)可以在不还原证书的情况下,还原被透明数据加密的数据库不能,对于透明数据加密最重要的一点要记住,证书丢了意味着整个数据库就没了。 r)当还原过程完成后,还原会进行Redo和Undo每次还原操作后其实执行的都是Redo操作,只有在整个还原过程完成后,才会进行Undo。 s)压缩备份集只能被还原到SQL Server 企业版中不,所有的版本都能还原压缩后的备份。从SQL Server R2开始,标准版也可以进行压缩备份。 t)将低版本的数据库还原到高版本的实例可以跳过升级过程不允许,在数据还原和附加的过程中是不允许跳过必须的升级和恢复过程。 u)在位实例下备份的数据库无法恢复到位实例。反之亦然错误,数据库的内部格式和CPU构架无关。 v)只要进行数据还原,就可以保证程序正常执行不对,就像高可用性中的镜像故障转移和事务日志传送转移到辅助服务器一样,还有很多额外的步骤需要做才能保证程序正常执行。包括辅助数据库和正确的登录名等。 w)还原受损的文件需要从多个文件组进行还原,则必须还原相关的所有文件组不,在SQL Server 中的确是这样,但在SQL Server 以后的版本就完全不用了。 x)你可以将数据库还原到任何最新版本的实例不对,数据库只能还原到比其新的一个或两个版本.(比如SQL Server 7.0下的数据库就不能还原到SQL Server )。 y)恢复时间和还原时间是一样的不,很多因素会影响还原的时间,比如说是否有长事务需要回滚,或是即时文件初始化特性是否开启。 z)在还原数据库之前需要先Drop被还原的数据库不是的,如果你在还原数据库之前Drop被还原的数据库,那么还原过程首先需要即时文件初始化,还有,你最好保留被还原数据库的副本以便还原失败的情况下把损失减到最小。

推荐整理分享SQL Server误区30日谈 第24天 26个有关还原(Restore)的误区(sqlserver1053怎么解决),希望有所帮助,仅作参考,欢迎阅读内容。

SQL Server误区30日谈 第24天 26个有关还原(Restore)的误区(sqlserver1053怎么解决)

文章相关热门搜索词:sqlserver1053怎么解决,sql server常规错误,sql server 错误,sql server 1222解决,sql server错误和使用情况报告,sql server 1222解决,sql server233错误,sql语句错误提示,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL Server误区日谈 第天 有关填充因子的误区 误区#:多个有关填充因子的误区都是错误的a)填充因子是一直存在的不是的,通过BooksOnline可以看到(译者:我在新版的BOL没有找到这句话):重要:填充

SQL Server误区日谈 第天 SQL Server中存在真正的“事务嵌套” 误区#:SQLServer中存在真正的事务嵌套错误嵌套事务可不会像其语法表现的那样看起来允许事务嵌套。我真不知道为什么有人会这样写代码,我唯一能够

SQL Server误区日谈 第天 使用BACKUP WITH CHECKSUM可以替代DBCC CheckDB 误区#:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实

标签: sqlserver1053怎么解决

本文链接地址:https://www.jiuchutong.com/biancheng/347839.html 转载请保留说明!

上一篇:SQL Server误区30日谈 第23天 有关锁升级的误区(sql server 3417错误)

下一篇:SQL Server误区30日谈 第25天 有关填充因子的误区(sql server错误和使用情况报告)

  • 免征增值税的会计处理 进项
  • 共享税种
  • 反写不了是为什么
  • 普通发票税额没有打印全可以用么
  • 小规模转一般纳税人需要什么条件
  • 赠送的商品怎么缴纳增值税
  • 增值税普通发票和普通发票的区别怎么交税
  • 企业资产净资产
  • 有未弥补亏损本季度有盈利要计提递延所得税资产吗?
  • 贷款利息可以抵税吗
  • 企业所得税逾期未申报怎么补申报
  • 工程领用工程物资180万元
  • 国家税务总局2011年第25号公告
  • 工会经费的计税依据怎么算
  • 关于免租金的法律规定
  • 交税四舍五入差额怎么处理
  • 发票抬头错了认可怎么办
  • 结转与结余
  • 损益表现金流量表资产负债表
  • 鼠标反应迟钝是什么原因
  • 鸿蒙系统怎么设置导航键
  • windows10如何开热点
  • 贴现到期不获付款
  • 个体户和有限公司哪个税收低
  • 成本法 合并
  • 失控票要在抵扣当月转出吗
  • 电脑到u盘
  • 发票盖章有讲究吗
  • 生产加工型企业安全隐患排查内容
  • vue项目难点及解决方法
  • chatplus
  • 挥别2020逐梦2021
  • kill命令机制
  • eterm指令退出a
  • java 桥接模式
  • python字符串如何提取单词
  • 季度盈利弥补亏损利润表
  • 采矿权如何进行融资
  • 银行的抵债资产是否需要缴纳房产税
  • 母公司破产子公司债权人申报
  • python获取某个值
  • 抵账的多余款是什么科目
  • SQLServer 2008 R2中使用Cross apply统计最新数据和最近数据
  • 新的会计制度
  • 企业资金管理是什么意思
  • 图书发行税率
  • 什么情况下借递债券
  • 先前收取的包装费用
  • 资本公积转为实收资本会计科目
  • 商品损耗进项税额怎么算
  • 律师事务所优惠政策
  • 哪些税费计入管理费用
  • 固定资产会计核算方法
  • sql语句优化的13种方法
  • linux oos
  • mysql 正则表达式分组替换
  • anddroid.process.acore进程停止什么意思
  • winadserv.exe - winadserv是什么进程
  • 如何关闭电脑端口
  • 如何注销windows账户登录
  • 怎么优化win10系统
  • linux shell 函数参数
  • 免费获取验证码
  • linux命令git
  • window10如何解除密码
  • win10 windows设置
  • android开发环境的搭建步骤
  • cocos2dx怎么用
  • jquery时间格式
  • css里注释
  • Node.js中的全局对象有
  • js动态改变网页标题
  • Python中random模块
  • JQuery解析XML的方法小结
  • [置顶]游戏名:chivalry2
  • 简单的移动端项目
  • js判断网页链接是否可用
  • 开票物品名称要求
  • 如何查询企业税务评级
  • 浙江电子税务局移动端
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设