度量快速开发平台-专业、快速的软件定制快开平台

标题: SQL SERVER 数据误删恢复 [打印本页]

作者: 张军勇    时间: 2020-4-11 23:07
标题: SQL SERVER 数据误删恢复
在sql server中,常常会遇到误删除数据的情况,如何恢复呢?
--首先,备份事务日志(使用事务日志才能还原到指定的时间点),所以当如果吴操作的时候,首先要记录下当前的时间
--
并且备份事务日志文件
BACKUP   LOG   sqlTest   TO   DISK= 'c:/sqlTest_log.bak '   WITH   FORMAT
GO

--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)
RESTORE   DATABASE   sqlTest   FROM   DISK= 'c:/sqlTest.bak '   WITH   REPLACE,NORECOVERY
GO
--执行上一步的时候出现错误,然后把当前用户退出,然后重新登录执行就ok了


--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早 )看情况,应该执行完上一步的以后,
--
-数据库不能操作了,知道下一步
RESTORE   LOG   sqlTest  FROM   DISK= 'c:/sqlTest_log.bak '   WITH   RECOVERY,STOPAT='2011-08-31 22:40:01'
GO

--2011-08-31 22:48:01为要恢复到的时间点,至此恢复工作完成
--
其中比较多的问题可能是:
--
RESTORE 无法处理数据库 '********',因为它正由此会话使用。建议在执行此操作时使用 master 数据库。
--
RESTORE DATABASE 正在异常终止
--
解决办法就是关掉所有的链接
--
本次测试是在sqlserver 2008 版本上测试通过。其中如果要恢复的话,应该要有一个完成的备份


use Db
select * from db.dbo.TB_test

作者: 张军勇    时间: 2020-4-11 23:09
有点复杂,所以用sql server管理器删除或更新数据的时候,最好先确认语句是否正确。
作者: 刘亚东    时间: 2020-4-12 08:41
交麻了
作者: 王爱东    时间: 2020-4-12 17:44
sqlserver恢复也应该简单的。只是我们还不太熟悉吧。
作者: 张兴康    时间: 2020-4-12 18:04
不错,又学到一招
作者: 万望    时间: 2020-4-12 21:22
比oracle复杂好多啊
作者: 张军勇    时间: 2020-4-13 10:19
确实,不知道大家有没有更简单的方法?




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2