SQL数据库里的表误删除要怎么恢复

如题所述

sql
server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:
1.
至少有一个误删除之前的数据库完全备份。
2.
数据库的恢复模式(recovery
mode)是“完整(full)”。
针对这两个前提条件,会有三种情况:
情况一、如果这两个前提条件都存在,通过sql语句只需三步就能恢复(参考文章),无需借助第三方工具。
  a)
备份当前数据库的事务日志:backup
log
[数据库名]
to
disk=
n'备份文件名'
with
norecovery
  b)
恢复一个误删除之前的完全备份:restore
database
[数据库名]
from
disk
=
n'完全备份文件名'
with
norecovery,
replace
  c)
将数据库恢复至误删除之前的时间点:restore
log
[数据库]
from
disk
=
n'第一步的日志备份文件名'
with
stopat
=
n'误删除之前的时间点'
,
recovery
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-07
如果之前没有完全备份的话,我不知道怎么去恢复。
如果之前有完全备份的话,现在立刻备份日志文件。
backup
log
数据库名
to
disk
='备份路径+备份名'
然后还原最近一次的完全备份(删除表之前的完全备份)加上norecovery选项
restore
database
数据库名
from
disk='完全备份路径+备份名'
with
norecovery,replace
之后还原刚才备份的日志文件,加上stopat选项,假设表是在18:01分删除的,就恢复到之前的几分钟
restore
log
数据库名
from
disk='日志文件备份路径+备份名'
with
stopat='2008-3-28
17:30'本回答被提问者采纳
相似回答