应用场景:假如您用了阿里云的SQL Server RDS,想在另一台服务器上经过备份文件还原数据库至以前的某个时间点。数据库
准备工做:准备1台用于还原的服务器,安装好SQL Server(2008或2012均可以)。服务器
还原场景:还原时间点在增量备份时间点以后,全量备份时间点以前。测试
测试案例:阿里云
上图是RDS管理管制台中看到的备份状况,咱们的目标是将数据库还原至2014-02-12 19:00的时间点,也就是在增量备份2014-02-13 06:31与全量备份2014-02-14 06:29之间的时间点。spa
通过实测的恢复操做步骤:日志
1,下载2014-02-10 07:16的全量备份文件并解压出要恢复的数据库备份文件。code
2,以NORECOVERY的方式还原2014-02-10 07:16的全量备份,操做SQL语句以下:blog
USE [master] RESTORE DATABASE [数据库名称] FROM DISK = N'数据库全量备份文件路径' WITH FILE = 1, NORECOVERY GO
还原成功后,数据库处于Restoring状态。ast
3, 继续以NORECOVERY的方式还原2014-02-12 06:51的增量备份,操做SQL语句以下:class
USE [master] RESTORE DATABASE [数据库名称] FROM DISK = N'数据库增量备份文件路径' WITH FILE = 1, NORECOVERY GO
还原成功后,数据库继续处于Restoring状态。
3. 联系阿里云客服,让他们联系DBA提供2014-02-12 06:51与2014-02-13 06:31时间点以前的日志备份文件(目前RDS管理控制台没有提供日志备份文件的下载)
4. 以RECOVERY(默认方式)的方式还原日志
RESTORE LOG [要恢复的数据库名称] FROM DISK = N'前一步获得的数据库日志备份文件路径' WITH FILE = 1, STOPAT = N'要恢复的时间点' GO
日志还原成功后,数据库处于正常状态,这时数据库中的数据就还原到了要恢复的时间点。