云计算之路-阿里云-分享:通过RDS备份文件恢复SQL Server数据库

应用场景:假如您用了阿里云的SQL Server RDS,想在另外一台服务器上通过备份文件还原数据库至之前的某个时间点。

准备工作:准备1台用于还原的服务器,安装好SQL Server(2008或2012都可以)。

还原场景:还原时间点在增量备份时间点之后,全量备份时间点之前。

测试案例:

云计算之路-阿里云-分享:通过RDS备份文件恢复SQL 
Server数据库

上图是RDS管理管制台中看到的备份情况,我们的目标是将数据库还原至2014-02-12 19:00的时间点,也就是在增量备份2014-02-13 06:31与全量备份2014-02-14 06:29之间的时间点。

经过实测的恢复操作步骤:

1,下载2014-02-10 07:16的全量备份文件并解压出要恢复的数据库备份文件。

2,以NORECOVERY的方式还原2014-02-10 07:16的全量备份,操作SQL语句如下:

云计算之路-阿里云-分享:通过RDS备份文件恢复SQL 
Server数据库
USE [master]
RESTORE DATABASE [数据库名称] 
FROM  DISK = N数据库全量备份文件路径 
WITH  FILE = 1,  
NORECOVERY
GO
云计算之路-阿里云-分享:通过RDS备份文件恢复SQL 
Server数据库

还原成功后,数据库处于Restoring状态。

3, 继续以NORECOVERY的方式还原2014-02-12 06:51的增量备份,操作SQL语句如下:

云计算之路-阿里云-分享:通过RDS备份文件恢复SQL 
Server数据库
USE [master]
RESTORE DATABASE [数据库名称] 
FROM  DISK = N数据库增量备份文件路径 
WITH  FILE = 1,  
NORECOVERY
GO
云计算之路-阿里云-分享:通过RDS备份文件恢复SQL 
Server数据库

还原成功后,数据库继续处于Restoring状态。

3. 联系阿里云客服,让他们联系DBA提供2014-02-12 06:51与2014-02-13 06:31时间点之前的日志备份文件(目前RDS管理控制台没有提供日志备份文件的下载)

4. 以RECOVERY(默认方式)的方式还原日志

云计算之路-阿里云-分享:通过RDS备份文件恢复SQL 
Server数据库
RESTORE LOG [要恢复的数据库名称] 
FROM  DISK = N‘前一步得到的数据库日志备份文件路径 
WITH  FILE = 1,  
STOPAT = N要恢复的时间点
GO
云计算之路-阿里云-分享:通过RDS备份文件恢复SQL 
Server数据库

日志还原成功后,数据库处于正常状态,这时数据库中的数据就还原到了要恢复的时间点。    

云计算之路-阿里云-分享:通过RDS备份文件恢复SQL Server数据库

上一篇:Prometheus+Grafana+Alertmanager 开源监控平台部署


下一篇:Kubernetes(k8s)监控报警之快速安装手册-使用Prometheus和alertmanager及node_exporter和kube-state-metrics