网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 数据库 > 正文

当数据库出现页损坏或校验和出错时如何处理

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
  •     backup log yourdb to disk='D:\DBBak\yourdb_a.trn' 
  •   b.通过完整备份来恢复该page. (yourdb.bak是一个全备。); 
  •     restore database yourdb page= '1:94299' from disk='D:\DBBak\yourdb.bak' with norecovery 
  •   c.恢复这个全备之后的差异(假设有差异yourdb.dif),如果没有差异备,直接到d步骤; 
  •     restore database yourdb from disk='d:\DBBak\yourdb.dif'  with norecovery 
  •   d.恢复之后的log备份,可能有多个(假设为yourdb_1.trn,yourdb_2.trn); 
  •     restore log yourdb from disk='d:\DBBak\yourdb_1.trn' with norecovery 
  •     restore log yourdb from disk='d:\DBBak\yourdb_2.trn' with norecovery 
  •     restore log yourdb from disk='d:\DBBak\yourdb_a.trn' with norecovery 
  •   e.做一个最新的日志备; 
  •     backup log yourdb to disk='D:\DBBak\yourdb_e.trn' 
  •   f.还原最后的(e步骤)日志备份; 
  •     restore log yourdb from disk='d:\DBBak\yourdb_e.trn' with recovery 
  •   g.结束 
  • 4.经过步骤三之后,我们再来检查一下该表是否还有错,从提示信息Object ID 2088535921里,我们查出表名tbname; 
  •     tbname: select object_name(2088535921) 
  •     然后 dbcc checktable('yourtable')检测,如果没有报错,则表示修复完成 
  • 5.最后,对整个库再做一次dbcc checkdb检查; 
  • ps:需要注意的是,sql server 的page级恢复在企业版和开发版中,支持联机恢复page数据,在标准版只能脱机修复;
    在dbcc checkdb修复选项里,用repair_rebuild修复数据,联机文档称是不丢失数据,但在某些环境下可能也会丢失数据,不过,我没遇到过:)
    用repair_allow_data_loss选项时,联机文档称可能会丢失数据,而对于堆或聚集索引的页损坏,sql server 会释放该页面,造成数据的丢失,但repair_allow_data_loss选项有两种情况是不会丢失数据,一种是非聚集索引上的页错误,另外是lob页数据错误。

    总绍:
    一定要有良好的数据库备份策略,备份重于一切;
    要有异机备份,并且时时同步该备份文件;
    当数据库出现故障时,不要过于心急,冷静分析一下错误;
    如果不能确定如何做,可以借助google,如果你的错误信息里中文的,请翻译成英文后再google,这样搜到解决方案的可能性更大;
    做修复时,一定要再备一次数据库;
    dbcc checkdb的repair_allow_data_loss选项永远是最后的选择。

  • 下一篇资讯: SQL系列流水号
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师