加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver2008 根据日志还原数据库

发布时间:2020-12-12 13:35:27 所属栏目:MsSql教程 来源:网络整理
导读:前言:最近项目接近了尾声,随之而来的是维护问题,当然涉及到数据库的数据维护,通过资料和实际操作整理有关误操作后根据日志还原数据库。 前提:①必须有数据库的完整备份(做个备份计划);②数据库恢复模式是完整的(FULL)。 步骤:①发现误操作时,记

前言:最近项目接近了尾声,随之而来的是维护问题,当然涉及到数据库的数据维护,通过资料和实际操作整理有关误操作后根据日志还原数据库。

前提:①必须有数据库的完整备份(做个备份计划);②数据库恢复模式是完整的(FULL)。

步骤:①发现误操作时,记录下时间点date并备份日志文件(备份脚本:USE master BACKUP LOG 数据库 TO disk=N'G:cclog.bak'??WITH?NORECOVERY);

????? ②还原数据库(还原脚本:USE master RESTORE DATABASE?数据库?FROM DISK = N'G:cc.bak' WITH NORECOVERY, REPLACE);

????? ③还原日志(还原日志脚本:USE master RESTORE LOG ?数据库?FROM? DISK = N'G:cclog.bak'??WITH?? STOPAT = N'date' , RECOVERY);

?????? ④以上3步都操作成功后则还原成功,此时查看数据库发现误删除操作的数据又回来了。

说明:①“NORECOVERY”是用来备份尾日志的,这样备份日志的时候数据库处于恢复状态,别的进程就不能再访问数据库,日志就不会再增加了,这样在还原的时候就可以正常恢复了。还原备份的时候如果想同时还原之后的日志,必须加上Norecovery才可以还原日志。

????? ②时间点“date”格式为“M/D/YYYY H:m:s PM”,是12小时制,例如:1/23/2014 1:17:10 PM表示2014年1月23号下午1点17分10秒,此时间点只要在误操作前就可以。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读