位置: 编程技术 - 正文

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错误和使用情况报告)

  • 个体工商户缴纳税目
  • 个人所得税起征点2023税率表
  • 营业执照备案登记流程
  • 普通发票税额没有打印全可以用么
  • 无租房合同可以取住房公积金吗
  • 空调可以直接做费用吗
  • 母公司出售子公司给另一家子公司
  • 处置投资性房地产的损益怎么算
  • 收到进项发票是什么凭证
  • 转给子公司发工资分录
  • 研发费用可以结转以后年度抵扣吗对吗
  • 建筑企业预收款开具不征税发票为什么要预缴
  • 成立企业的步骤
  • 出售无形资产是收入吗
  • 增值税税负率怎么算
  • 全资子公司需要设立股东会吗
  • 消费税可以跨年计提吗
  • 购车合同起什么作用
  • 建筑机械租赁站
  • 金税盘年费怎么做账
  • 税务机关核定应纳税额的具体程序和方法
  • 增值税普通发票几个点
  • 企业发工资扣缴个人承担部分如何做账?
  • 公司作为二房东怎么给别人开发票
  • 发票未到的费用怎么处理
  • 销售退回如何做账
  • 苹果电脑重装系统无法连接服务器
  • 怎么加入win11预览计划
  • PHP CURL CURLOPT参数说明(curl_setopt)
  • PHP:pg_get_result()的用法_PostgreSQL函数
  • linux架构师是做什么的
  • vue项目页面写在哪里
  • PHP:imagestringup()的用法_GD库图像处理函数
  • 机动车退货的法律规定
  • 研发费用加计扣除新税收政策2023
  • php功能实现
  • 请问酒厂销售酒怎么样?
  • ajax调用php接口
  • 深入php第五版中文版pdf
  • vscode怎么写前端代码
  • pytorch with no grad
  • tomcat服务器在哪个位置
  • mysqldump语句
  • 固定资产多少可以上市
  • 出口未申报如何处理
  • 将织梦dedecms转换到wordpress
  • 金税盘问题
  • sql server row_number over
  • 跨年暂估成本如何冲销
  • 发票开具流程是?
  • 申报抵扣了不做账怎么处理?
  • 经营租赁的房屋计提折旧吗
  • 增值税农产品免税
  • 归还银行贷款利息计入
  • 12月收入1月份开发票怎么报企业所得税
  • 汽车三产件
  • 发票怎么打印的出来
  • 印花税自查补缴情况说明补以前年度
  • 事业单位无形资产摊销是当月还是下月
  • 结转销售成本怎么操作
  • 施工企业应收账款确认依据
  • sql2005和2000区别
  • 在linux系统中,用来存放系统所需要的配置文件和子目录
  • centos破解密码命令
  • windows xp桌面图标
  • win10怎么转移文件到其他盘
  • win7系统误删文件可以恢复吗
  • win10安装vc++6.0
  • 关于session的用法哪些是错误的
  • Perl的Mail::POP3Client模块和Gmail通信实例
  • perl cgi
  • node.js写爬虫
  • node.js读取文件的三种方式
  • [置顶] 汉诺塔的原理剖析以及递归的解决办法
  • js正则表达式变量
  • 企业对税务局建议
  • 怎么查询地方规划用地
  • 股东向公司借款合法吗
  • 辽宁国家税务总局电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设