SQL2008 数据库根据事物日志的还原
来源:互联网 发布:浪潮软件利好消息 编辑:程序博客网 时间:2024/06/04 19:33
SQL是可以通过事物日志还原到数据库的任意一个时间点的。
但是需要几个条件:
1、数据库必须在出问题之前必须存在备份。
-- 对数据库进行备份BACKUP DATABASE db_testTO DISK = 'd:/Gwall.bak'WITH FORMATGO
2、在出问题之后,数据库必须没有做过任何 数据库完整备份。因为数据库备份是会对事物日志进行截断处理的。
而数据库恢复是需要通过事物日志进行了,所以如果出问题之后对数据库进行了完整备份,那么就无法取得出问题的事物日志了。
也就等于没有办法恢复到出问题的时间点了。
3、出问题之后,应停止数据库访问,并且进行事物日志的备份。
--备份事务日志(使用事务日志才能还原到指定的时间点)BACKUP LOG db_testTO DISK = 'c:/Gwall_log.bak'WITH FORMATGO
补充,在数据库备份之后,事物日志备份可以有多个。但必须记住相应的时间顺序。在恢复时需要按照时间顺序逐一恢复。
因为事物日志的备份其实是只有时间段数据的,即上一次的数据库完整备份或上一次的事物日志备份时间 到当前时间的事物日志数据。
当拿到出问题之前最早的备份和出问题之后的事物日志之后,就可以进行数据库的恢复动作了。
恢复步骤:
1、首选需要有数据库的独占访问权,所以需要其他人和该数据的连接都中断。
2、数据库恢复的时候最好在 USE master 的连接上执行。
3、首先进行出问题前的数据库完整备份的还原。
-- 还原完全备份 RESTORE DATABASE GwallFROM DISK = 'd:/Gwall.bak ' WITH REPLACE , NORECOVERY
其中,NORECOVERY 你其实就是数据库的锁,在还原数据库后需要还原后续日志时,必须在还原后带上该值。
4、逐一按照时间点还原事物日志
RESTORE LOG Gwall FROM DISK = 'd:/Gwall_log.bak' WITH STANDBY = 'd:/gwall_redo.bak'
当还原最后一个事物日志时,可以指定时间,进行还原。则数据库将还原到该指定时间点。
DECLARE @start_date datetime SET @start_date = CONVERT(DATETIME,'2014-08-20 22:02:27.753')RESTORE LOG Gwall FROM DISK = 'd:/Gwall_log1.bak' WITH STOPAT = @start_date , STANDBY = 'd:/gwall_redo.bak'
注意:事物日志的还原(包括指定时间点的还原)是不可逆的。如以上指定时间点选还原指定时间为 22:02:27 ,
则下次在还原的时候,时间只能在该时间之后,如果写还原时间为 22:01:00 ,则该还原是无法完成的。
5、在还原到固定时间点后,是可以在当前连接下进行数据库数据的查询的,以确定是否已到达到需要还原的时间点。
6、确定数据还原完成后,则需要将数据库锁解开,完成数据库还原。
-- 显示还原的时间点 SELECT Restoreto = @start_date -- 完成数据库还原,使数据库可读写 RESTORE LOG Gwall WITH RECOVERY
以上就完成了通过事物日志进行指定时间点还原的恢复。
0 0
- SQL2008 数据库根据事物日志的还原
- SQL2008根据日志还原数据库
- sqlserver2008 根据日志还原数据库
- sql2008 语句还原数据库
- sql2008还原数据库方法
- sqlserver2008根据事务日志还原数据库
- SQL2008还原数据库无法还原问题
- Sql2008 收缩数据库日志
- 根据日志文件将数据库还原至指定的时间点
- 还原sql2008数据库提示数据库正在使用
- SQL2008 的收缩日志
- SQL2008清除数据库日志脚本
- sql2008备份还原到sql2012数据库
- SQL2008数据库日志已满时删除表中数据的方法
- SQL2008\2008R2数据库还原后在数据库名称后显示受限制用户的解决办法
- sql2008还原数据库失败,因为结果数据库的累积大小超出10240MB许可限制值。
- 利用日志还原数据库
- SQL2008,还原的时候无法获得对数据库的独占访问权
- javascript常用加入收藏与设为首页代码
- MFC内部运行来龙去脉追踪
- shell编程空格的使用
- Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键
- javascript node element
- SQL2008 数据库根据事物日志的还原
- 为什么我写的文章没了?
- HDU 4970 Killing Monsters 离线 差分
- Codeforces Round #262 (Div. 2) B
- 如何解决Xcode5上传应用时找不到图标的问题。
- 用KMP来求字符串的循环节
- 校验中文长度和英文长度
- EL表达式
- QImage类