恢复Update、Delete误操作引起的数据
2010-05-10 14:21
417 查看
利用事务日志来恢复Update、Delete误操作引起的数据丢失
方法一(只有 sysadmin 固定服务器角色的成员才能执行以下操作):
1如果误操作之前存在一个完全备份(或已有多个差异备份或增量备份),首先要做的事就是进行一次日志备份(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1那就没有办法了)
backup log dbname to disk='filename'
执行后在你mssql目录的backup文件夹里就有一个文件,名叫:filename
2恢复一个完全备份,注意需要使用with norecovery,如果还有其他差异或增量备份,则逐个恢复。
restore database dbname from disk='filename' with norecovery(,move…)
当然如果在恢复之前你mssql里的data文件夹里有同名的.mdf或.ldf文件,你要先执行sp_detach_db 'dbname',然后将同名的.mdf或.ldf文件剪切出data文件夹,不然会报错;或者你在restore database时用move参数(restore filelistonly from disk=’以前文件备份的路径和名称’,得到逻辑文件名,move ‘逻辑文件名’ to ‘一个新路径’),将物理文件(.mdf或.ldf)存放到不同的文件夹。
3恢复最后一个日志备份即刚做的日志备份,指定恢复时间点到误操作之前的时刻
restore log dbname from disk='filename'
with recovery,stopat='date_time'
这里的date_time时间格式用datetime格式。
当然,如果误操作是一些不记日志的操作比如truncate table,select into等操作,那么是无法利用上述方法来恢复数据的。
方法二:
用SQL Server Log explorer这样一个软件来逆操作
相关文章推荐
- 利用事务日志来恢复Update、Delete误操作引起的数据丢
- 利用事务日志来恢复Update、Delete误操作引起的数据丢
- 利用事务日志来恢复update、delete误操作引起的数据丢
- SqlServer2008误操作数据(delete或者update)后恢复数据
- sql service ---- update和delete 误操作数据 ---- 恢复数据
- MySQL 误操作后数据恢复(update,delete忘加where条件)
- oracle update、delete或者drop误操作如何恢复之前是数据
- SqlServer2008误操作数据(delete或者update)后恢复数据的方法
- 使用mysql的binlog恢复误操作(update|delete)的数据
- sqlserver update或者Delete误操作恢复方法---【验证】
- MySQL--操作简记(create创建操纵表、insert插入、update更新、delete删除数据)
- 利用Log Explor来恢复误用delete 、update了的数据
- 针对MYSQL delete、update、insert语句误操作时的恢复办法
- Command不是也可以对数据库进行insert,update,delete操作吗,为什么还需要DataAdapter。我知道DataAdapter可以用来想AataSet中填充数据,Command不可以吗?
- 触发器记录表某一个字段数据变化的日志 包括插入insert 修改update 删除delete 操作
- Oracle:数据操作语句 (DML-insert into,update,delete) 部分、事务控制 (TCL-commit,rollback)
- ORACLE数据库误操作执行了DELETE,该如何恢复数据?
- 利用logminer恢复delete误删除操作的数据
- Java操作ElasticSearch之Update数据 and Java操作ElasticSearch之Delete数据
- MySQL 基本操作--DML:数据操作语句(insert、delete、update)