每人,每天,做好每件事
Everyone,Everyday,Everything

【SQL2016】恢复事务日志

工作中,不小心将workflow_requestbase表的requestmark字段update错了。。。咳咳,幸好平时有做备份,万幸啊!!

解决办法:

1.将服务器上面的完整(2020.10.23)、差异(2020.10.23所有)、事务备份(2020.10.23所有)拷贝到测试环境

2.图文界面恢复完整备份。注意点:“还原数据库”–“选项”—“恢复状态”选择“restore with norecovery”,既:不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。如果不选择这个,后面恢复的时候会报错“无法还原日志备份或差异备份,因为没有文件可用于前滚”

3.待完整备份恢复ok再恢复差异备份。

4.重点说明恢复事务日志。

4.1 此时待恢复的数据库处于 还原模式

4.2 新建查询,进行如下作业,待语句执行完毕刷新即可。

----第一个是  with norecovery
restore log ecology from  DISK = N'e:\ecology_backup_2020_10_23_110001_7450267.TRN' 
  with norecovery
........
----最后一个是  with recovery
restore log ecology from  DISK = N'e:\ecology_backup_2020_10_23_150001_5502825.TRN' 
  with recovery

4.3 将测试环境查询的结果查询,update实体环节即可。(我的做法是复制到Excel然后通过公式生成一条条数据。。。。。)

4.4 至此,恢复ok。

总结:备份很重要!执行update一定要select一下检查where条件是否ok!

顺带说一下:

泛微OA 的流程监控的流程编号就是这个workflow_requestbase表的requestmark字段。

赞(1) 打赏
未经允许不得转载:辣椒小鱼のBlog » 【SQL2016】恢复事务日志
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮