今天,同事在操作一个很老的数据库 SQL SERVER 2000时,无意中用删除命令,准其中的某张表数据给删除了,当时急出了一头汗。
得知情况后,我先备份数据库,再备份数据库日志。然后查找有没有老的全备数据库备份。还好有一个1个月以前的备份。
重新找一台有SQL SERVER 2000环境的工作站,先恢复老的备份。在 SQL 查询分析器中执行:
restore database [XXX] on disk='d:\db\xxx.bak' with norecovery
其中 XXX 是数据库名称,d:\db\xxx.bak 是以前做过的一个全备数据库备份。
然后通过刚备份的数据库日志,恢复到指定时间。具体面临如下:
declare @dt datetime select @dt='2021-08-25 09:04:16.000' restore log [XXX] from disk='d:\db\xxx_log.bak' with stopat=@dt,recovery restore database XXX with recovery
执行以上操作以后,发现数据库恢复到表被删除之前。接下来就是把被删除的数据移植回去。
做完以上事情以后,我把该同事批评了一顿,同时让他做好数据库备份策略。
345

被折叠的 条评论
为什么被折叠?



