VSS APP(SQL Server)备份实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
云备份 Cloud Backup,100GB 3个月
简介: 阿里云混合备份服务是一套已经商业化的原生备份服务,提供了简单易用,并且高效安全的数据保护方案。现在,混合云备份服务推出了全新的VSS APP功能。通过VSS APP功能,可以把ECS实例上SQL Server中的数据库以全量、差量和日志备份的方式备份上云,如果SQL Server数据库需要恢复,可以快速恢复到相应的备份。

阿里云混合备份服务是一套已经商业化的原生备份服务,提供了简单易用,并且高效安全的数据保护方案。现在,混合云备份服务推出了全新的VSS APP功能,目前正在公测中。通过VSS APP功能,可以把ECS实例上SQL Server中的数据库以全量、差量和日志备份的方式备份上云,如果SQL Server数据库需要恢复,可以快速恢复到相应的备份。

优势

  • 不需要写复杂的备份脚本
  • 集中管理监控所有备份
    在数据库备份失败时,用户会收到邮件或短信通知。用户可以查看所有进行中和已经完成的备份任务。
  • 恢复到任意时间点(精确到秒级)
  • 原生的SQL API集成
    VSS APP使用SQL Server的原生API,用户可以在SSMS监控备份/恢复任务。

三种备份方式

开始备份前,先介绍一下SQL Server备份的三种方式。

Full Backup

Full Backup(全量备份)是SQL Server所有备份类型中,最为简单、最基础的数据库备份方法,它提供了某个数据库在备份时间点的完整拷贝。但是,它仅支持还原到数据库备份成功结束的时间点,即不支持任意时间点还原操作。下面这张图解释了全量备份的工作原理。
0d7ab4ed302577a9f6bff75f4fff032ce55eb215

Transaction Log Backup

SQL Server数据库完全备份是数据库的完整拷贝,所以备份文件空间占用相对较大,加之可能会在备份过程中导致事务日志一直不断增长。为了解决这个问题,事务日志备份可以很好的解决这个问题,因为:事务日志备份记录了数据库从上一次日志备份到当前时间内的所有事务提交的数据变更,它可以配合数据库全量备份和差量备份(可选)来实现时间点的还原。但是这里需要有一个前提是数据库必须是FULL恢复模式,SIMPLE恢复模式的数据库不支持事务日志的备份,当然就无法实现时间点的还原。

Differential Backup

事务日志备份会导致数据库还原链条过长的问题,而差量备份就是来解决事务日志备份的这个问题的。差量备份是备份至上一次数据库全量备份以来的所有变更的数据页,所以差量备份相对于数据库完全备份而言往往数据空间占用会小很多。因此,备份的效率更高,还原的速度更快,可以大大提升我们灾难恢复的能力。下面这张图解释了差量备份的工作方式。
85742634d6459e7f0e27905ee40e2b447ed2b2c9

开始备份

了解了这三种备份方式以后,综合考虑RTO(恢复时间目标)和RPO(恢复点目标)两个指标,实践中的一种常用备份方案是,每周做一次全量备份,每天做一次差量备份,每小时做一次日志备份。接下来以这种方案为例,我们介绍使用混合云备份的VSS APP备份SQL Server。

注册SQL Server实例

进入混合云备份控制台的【SQL Server备份】页面,选择【注册SQL Server实例】,
90975911b81314f58bcfd5f9255be30593d8b8d0
在弹出的边框中,配置存放SQL Server备份的仓库名称和SQL Server的连接信息。
d93acfa662aee9c1a16418af18a00f32547ec792
选择SQL Server所在的ECS实例,选择【创建】,做完这一步,SQL Server备份客户端在ECS上就已经创建好了。

创建备份计划

创建全量备份计划

b348ffdbdc069bda3038e666b67d1a0f57b882c7
在前一步创建出来的SQL Server实例上选择【备份】,
710e1fc4a38bab1e40ba7adaa67b92ebc5d42d1a
在弹出的【新建备份计划】中选择要备份的若干个数据库,输入数据库组的名称,选中的数据库会自动创建成为一个数据库组,后续再创建其他备份计划时可以重用该数据库组,进入【下一步】,
353404daca704d2a293d50804deebc3d844f0a72
选择备份类型为【全量】,备份执行间隔为一周,备份数据默认保留2年,
353404daca704d2a293d50804deebc3d844f0a72
选择【创建】。

创建差量备份计划

在SQL Server实例上选择【备份】,
73cfe50da553d58a8e8edeb4129ccf48328160db
在弹出的【新建备份计划】中选择前一步创建出来的数据库组,进入【下一步】,
479cb2b3e560b311635dbf71f0629a540aab5331
选择备份类型为【差量】,备份执行间隔为一天,选择【创建】。

创建日志备份计划

在SQL Server实例上选择【备份】,在弹出的【新建备份计划】中选择前一步创建出来的数据库组,进入【下一步】,
609b6d84c78ecd76bde3e77a7b99e7b029722b6f
选择备份类型为【日志】,备份执行间隔为一小时,选择【创建】。
至此,全量、差量和日志备份计划已经创建好了,我们在【备份计划】页面中可以查看创建出来的所有备份计划。
注:
1.由于同一时间只有一个备份计划可以执行,不同备份计划的执行时间尽可能错开。
2.支持不同备份方式的数据库尽可能放在不同的数据库组中。比如master数据库不支持差量/日志备份,把master和其他只支持全量备份的数据库放在一个数据库组中。

恢复数据库

5ed041ff45223740fc7376ceb8b85294ce9e41af
在SQL Server实例上选择【恢复】,
4d6c8c72195e4b3b6c56fa7c1079649492b79a97
在弹出的【新建恢复任务】中选择要恢复的数据库,进入【下一步】,
1a87b593aac578a88dce0ab84474a8dac7e0cb4c
输入【目标数据库名】,恢复方式有三种,【最近时间】是恢复到最近一次备份,【指定时间】是恢复到指定的时间点,可以精确到秒级,【指定备份】是恢复到指定的全量或差量备份。
选择【下一步】,【创建】,然后可以在【恢复任务】页面中查看正在进行的恢复。

小结

以上就是使用混合云备份VSS APP备份和恢复SQL Server的整个过程。接下来我们还会推出更多新的功能,

  • 恢复备份到其他ECS(可以跨不同region)上的SQL Server实例
  • 自动备份新加入SQL Server实例的数据库
  • 恢复到时间点时提供可选的时间范围
  • 支持Always On Availability Group中数据库的备份

除了SQL Server,混合云备份还支持文件、SAP HANA、虚机等的备份。更多的混合云备份产品信息,欢迎访问混合云备份服务官网了解更多详情。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
13天前
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
52 15
|
1月前
|
SQL 存储 Unix
Flink SQL 在快手实践问题之设置 Window Offset 以调整窗口划分如何解决
Flink SQL 在快手实践问题之设置 Window Offset 以调整窗口划分如何解决
34 2
|
29天前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
36 3
|
27天前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
1月前
|
SQL 流计算
Flink SQL 在快手实践问题之通过 SQL 改写实现状态复用如何解决
Flink SQL 在快手实践问题之通过 SQL 改写实现状态复用如何解决
34 2
|
1月前
|
SQL 流计算
Flink SQL 在快手实践问题之CUMULATE窗口的划分逻辑如何解决
Flink SQL 在快手实践问题之CUMULATE窗口的划分逻辑如何解决
34 2
|
1月前
|
SQL 流计算
Flink SQL 在快手实践问题之由于meta信息变化导致的state向前兼容问题如何解决
Flink SQL 在快手实践问题之由于meta信息变化导致的state向前兼容问题如何解决
38 1
|
1月前
|
SQL 安全 流计算
Flink SQL 在快手实践问题之Group Window Aggregate 中的数据倾斜问题如何解决
Flink SQL 在快手实践问题之Group Window Aggregate 中的数据倾斜问题如何解决
48 1
|
1月前
|
SQL 流计算
Flink SQL 在快手实践问题之使用Dynamic Cumulate Window绘制直播间累计UV曲线如何解决
Flink SQL 在快手实践问题之使用Dynamic Cumulate Window绘制直播间累计UV曲线如何解决
36 1
|
1月前
|
SQL 流计算
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
15 1