效率源数据恢复论坛
标题:
用数据库日志恢复数据库数据
[打印本页]
作者:
效率源技术部05
时间:
2009-6-29 09:48
标题:
用数据库日志恢复数据库数据
可能有不少朋友遇到过这样的问题:
5 S+ |' Z k) y" [! k8 a+ `
update或delete语句忘带了where子句,或where子句精度不够,执行之后造成了严重的后果,这种情况的数据恢复只能利用事务日志的备份来进行,所以如果你的SQL没有进行相应的全库备份或不能备份日志(truncatelogoncheckpoint选项为1),那么就无法进行数据恢复了,或者只能恢复到最近一次的备份的数据了。
. E( |* C' Z! k( N0 Y
以下简单说明恢复数据方法:
1 O C) g* I: t
1,如果误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进进行一次日志备份(如果为了不让日志文件变大而置trunc.logonchkpt.选项为1那你就死翘了)
D5 @2 v% `; R5 W: ~9 y0 @; e1 i% @
backuplogdbNametodisk='fileName'
& `' r- k1 _% U' f5 Z; q' f
2,恢复一个全库备份,注意需要使用withnorecovery,如果还有其他差异或增量备份,则逐个恢
8 V( u! C! q5 N3 c# r1 H
复
: t5 t- H% `% i7 t5 z
restoredatabasedbNamefromdisk='fileName'withnorecovery
( _0 n( k5 ?7 d& r- F+ d4 N) y
3,恢复最后一个日志备份即刚做的日志备份,指定恢复时间点到误操作之前的时刻
* y8 { ?( }6 ]2 N6 G5 h1 x6 k5 i
restorelogdbNamefromdisk='fileName'
8 [0 S5 ]8 D: R+ O) _
withstopat='date_time'
1 Y+ F7 Z8 P4 s6 \# a, e+ E# w
以上这些操作都可以在SQLSERVER企业管理器里完成,难度不大。。。
; l. r4 U% v" R! y9 d0 T
当然,如果误操作是一些不记日志的操作比如truncatetable,selectinto等操作,那么是无法利用上述方法来恢复数据的...
9 A" b% c; T: u7 F$ j3 W- ^
' p4 [1 X9 J& w; i! k# @- X; p
作者:
09722
时间:
2009-7-23 09:49
标题:
回复:用数据库日志恢复数据库数据
:share:
4 T4 ~+ \. q& Q, C, l
]
0 S4 Z& j( p% N" C, `; Z' |
7 T: |; G6 M4 X2 t2 F$ k7 c
作者:
xueyongji
时间:
2009-9-11 06:57
标题:
回复:用数据库日志恢复数据库数据
这个不太会啊
) b+ c6 s1 N. I- a
rl]
' ?8 @* G$ B7 M4 ^, T, v) n0 ~- D; e
$ S( B8 A9 ^& j' M4 f. {
作者:
youyi1997
时间:
2009-12-21 22:53
标题:
回复:用数据库日志恢复数据库数据
不大明白。。可以试试看看。。。
) ?" H' ]& r9 o- R t9 K
3 e( N; N V t; f
作者:
友情
时间:
2011-3-19 12:43
好贴~~~~~~~~支持~~~~~~~
7 V: |. g# ~+ q9 W& o/ x
+ m: p* ~) x' h" K M/ p
欢迎光临 效率源数据恢复论坛 (http://bbs.xlysoft.net/)
Powered by Discuz! X3.2