通过日志恢复SQL Server的历史数据

通过日志还原

方案一:

前提条件

1.必须有一个完整的备份,且这个备份必须是在修改、删除数据之前做的。

2.在更新、删除数据之后,做日志备份,该log备份将用于还原之前的数据

建议使用备份数据库进行还原操作,确认无误再对原库进行操作,或同步数据

开始还原操作:

此处使用SQL management界面操作

右键数据库” - “任务” - “还原” - “数据库”,

在“常规”选择页中的设备后面选择我们之前的完整备份及目标数据库

image.png

在“选项” - “恢复状态” 下选择第2项“不对数据库执行任何操作,不回滚提交的事务。。”(RESTOR WITH RECOVERY),点确定后,可以看到数据库的状态变成“正在还原。。”

image.png

最后:在数据库上点右键还原事务日志,选择刚刚我们删除表后备份的事务日志,

在下面选择时间点,这个时间是上面我们记住的删除表之前的时间,点击确定后,还原成功。可以看到被删除的表又回来了。

image.png

 

方案二:

前提条件
1.完整的日志文件

  

调用的两种方式

EXEC Recover_Deleted_Data_BylogBackup_Proc '库名','dbo.表名',N'备份文件'

--存储过程依然保持着两种调用方式(带日期与不带日期)
EXEC Recover_Deleted_Data_BylogBackup_Proc 'sss','dbo.testdelete',N'C:\sss_logBackup_2015_07_04_150756.BAK'
GO

EXEC Recover_Deleted_Data_BylogBackup_Proc 'sss','dbo.testdelete',N'C:\sss_logBackup_2015_07_04_150756.BAK','2012-06-01','2016-06-30'
GO

 

 

 

posted on   五官一体即忢  阅读(547)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示