VSS APP(SQL Server)备份实践

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
对象存储 OSS,内容安全 1000次 1年
简介: 阿里云混合备份服务是一套已经商业化的原生备份服务,提供了简单易用,并且高效安全的数据保护方案。现在,混合云备份服务推出了全新的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
相关文章
|
1月前
|
数据采集 网络协议 算法
移动端弱网优化专题(十四):携程APP移动网络优化实践(弱网识别篇)
本文从方案设计、代码开发到技术落地,详尽的分享了携程在移动端弱网识别方面的实践经验,如果你也有类似需求,这篇文章会是一个不错的实操指南。
68 1
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
4月前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
490 3
|
4月前
|
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. 错误
|
4月前
|
SQL 存储 数据库
备份SQL语句
【8月更文挑战第20天】备份SQL语句
47 3
|
4月前
|
SQL 数据库
SQL Server 如何进行备份?
【8月更文挑战第20天】SQL Server 如何进行备份?
98 3
|
5月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
4月前
|
SQL 存储 数据库
SQL Server 中的备份类型详解
【8月更文挑战第31天】
109 0
|
4月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
66 0
|
4月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
221 0