数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

利用事务日志来恢复Update、Delete误操作引起的数据丢失


发布日期:2023年09月13日
 
利用事务日志来恢复Update、Delete误操作引起的数据丢失

可能有不少朋友遇到过这样的问题

update或delete语句忘带了where子句或where子句精度不够执行之后造成了严重的后果

这种情况的数据恢复只能利用事务日志的备份来进行所以如果你的SQL没有进行相应的全库备份

或不能备份日志(truncate log on checkpoint选项为那么就无法进行数据的恢复了或者

只能恢复到最近一次的备份的数据了

以下简单说明恢复数据方法

如果误操作之前存在一个全库备份(或已有多个差异备份或增量备份)首先要做的事就是进

进行一次日志备份(如果为了不让日志文件变大而置trunc log on chkpt选项为那你就死翘了)

backup log dbName to disk=fileName

恢复一个全库备份注意需要使用with norecovery如果还有其他差异或增量备份则逐个恢

restore database dbName from disk=fileName with norecovery

恢复最后一个日志备份即刚做的日志备份指定恢复时间点到误操作之前的时刻

restore log dbName from disk=fileName

with stopat=date_time

以上这些操作都可以在SQL SERVER企业管理器里完成难度不大

当然如果误操作是一些不记日志的操作比如truncate tableselect into等操作那么是无法利

用上述方法来恢复数据的

上一篇:解决MSSQL占用过多内存的简单方法

下一篇:数据库查询中的特殊字符的解决问题