手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mssql>列表

利用数据库日志恢复数据到时间点的操作

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
可能有不少朋友碰到过这样的问题:
update或delete语句忘带了where子句,或where子句精度不够,执行之后造成了严重的后果,
这种情况的数据恢复只能利用事务日志的备份来进行,所以假如您的SQL没有进行相应的全库备份
或不能备份日志(truncate log on checkpoint选项为1),那么就无法进行数据的恢复了,或
只能恢复到最近一次的备份的数据了。

以下简单说明恢复数据方法:
1,假如误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进
进行一次日志备份(假如为了不让日志文档变大而置trunc. log on chkpt.选项为1那您就死翘了)
backup log dbName to disk='fileName'
2,恢复一个全库备份,注意需要使用with norecovery,假如更有其他差异或增量备份,则逐个恢

restore database dbName from disk='fileName' with norecovery
3,恢复最后一个日志备份即刚做的日志备份,指定恢复时间点到误操作之前的时刻
restore log dbName from disk='fileName'
with stopat='date_time'

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

当然,假如误操作是一些不记日志的操作比如truncate table,select into等操作,那么是无法利
用上述方法来恢复数据的...

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!