本文主要是介绍SQLServer 2012误操作数据库恢复方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
--BEGIN
--第一步:备份数据库(完整版)
--第二步:正常操作和误操作
--正常操作
insert into Table_A(Name) values('张三')
insert into Table_A(Name) values('李四')
insert into Table_A(Name) values('王五')
insert into Table_A(Name) values('赵六')
--误操作 --9:50
update Table_A set Name='赵六六' where Name='赵六'
delete from Table_A where Name='李四'
--第三步 数据库禁止访问
--第四步:备份事务日志
--第五步:还原完整数据库(恢复模式:RESTORE WITH NORECOVERY)不覆盖内容
--第六步:还原日志数据库(恢复模式:RESTORE WITH RECOVERY)
--END
注:还原的基础是有过完整备份数据库
检查数据库是否有过备份-完整
SELECT database_name,recovery_model,name FROM msdb.dbo.backupset
具体可参照以下操作:
发现误操作的情况下,前面三个步骤一定要注意,此处不过多说明!!!
第四步:备份事务日志
常规:备份类型——事务日志
选项:
1)可靠性:选中完成后验证备份,写入介质前检查校验
2)事务日志备份日志尾部,并使数据库出入还原状态
第五步:还原完整数据库
注:此时还原一定要选 【RESTORE WITH NORECOVERY】
恢复状态描述:
1)RESTORE WITH RECOVERY 回滚未提交事务,使数据库处于可使用状态。无法还原其他事务日志
2)RESTORE WITH NORECOVERY 不对数据执行任何操作,不回滚未提交的事务。可以还原其他事务日志。
3)RESTORE WITH STANDBY 使数据库处于只读模式。回滚未提交事务,但将回滚事务保存在一个文件中,以使恢复效果逆转
第六步:还原事务日志
1)时间点选择 误操作的时间。
2)恢复模式选择【RESTORE WITH RECOVERY】
注:还原事务与上一步还原完整数据库 选择恢复模式不一样。
希望大家永远不要用到这个方法。。。
这篇关于SQLServer 2012误操作数据库恢复方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!