你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure VM 中 SQL Server 的备份和还原
本文提供有关适用于 Azure Windows 虚拟机 (VM) 中运行的 SQL Server 的备份和还原选项的指导。 Azure 存储维护每个 Azure VM 磁盘的三个副本,以确保数据不会丢失或物理数据不会损坏。 因此,与本地 SQL Server 不同,无需重点关注硬件故障问题。 但是,仍应备份 SQL Server 数据库,以防止发生应用程序或用户错误,例如意外的数据插入或删除。 如果出现这种意外,必须能够还原到特定的时间点。
本文的第一部分提供可用备份和还原选项的概述。 后续部分提供有关每种策略的详细信息。
备份和还原选项
下表提供有关适用于 Azure VM 上的 SQL Server 的各种备份和还原选项的信息:
策略 | SQL 版本 | 说明 |
---|---|---|
自动备份 | 2014 及更高版本 | 使用自动备份可以针对 SQL Server VM 上的所有数据库计划定期备份。 备份在 Azure 存储中最多存储 90 天。 从 SQL Server 2016 开始,自动备份提供更多选项,例如,配置手动计划,以及完整备份和日志备份的频率。 |
适用于 SQL VM 的 Azure 备份 | 2012 及更高版本 | Azure 备份为 Azure VM 上的 SQL Server 提供企业级备份功能。 使用此服务,可以集中管理多个服务器和数千个数据库的备份。 可在门户中将数据库还原到特定的时间点。 此服务提供可将备份保留数年之久的可自定义保留策略。 |
手动备份 | 全部 | 根据所用的 SQL Server 版本,可通过不同的方法手动备份和还原 Azure VM 上的 SQL Server。 在这种情况下,你需要负责指定数据库的备份方式和存储位置,并管理这些备份。 |
以下部分更详细地介绍了每个选项。 本文的最后一个部分以功能矩阵的形式提供了摘要。
自动备份
自动备份为 Azure Windows VM 中运行的 SQL Server Standard 和 Enterprise 版本提供自动备份服务。 此服务由 SQL Server IaaS 代理扩展提供。该扩展已自动安装在 Azure 门户中的 SQL Server Windows 虚拟机映像上。
所有数据库将备份到配置的 Azure 存储帐户中。 备份可以加密,元数据最长可在 msdb
中保留 90 天,但服务不会自动删除超出保留日期的备份。 可以使用存储帐户的生命周期管理策略,来根据业务需求平衡备份保留期与成本管理。
SQL Server 2016 和更高版本的 VM 提供更多的自定义选项,以及自动备份。 这些改进包括:
- 系统数据库备份
- 手动备份计划和时间窗口
- 完整备份和日志文件备份的频率
若要还原数据库,必须在存储帐户中找到所需的备份文件,并使用 SQL Server Management Studio (SSMS) 或 Transact-SQL 命令对 SQL VM 执行还原。
有关如何为 SQL VM 配置自动备份的详细信息,请参阅以下文章之一:
- SQL Server 2016 及更高版本:适用于 Azure 虚拟机的自动备份
- SQL Server 2014:适用于 SQL Server 2014 虚拟机的自动备份
适用于 SQL VM 的 Azure 备份
Azure 备份为 Azure VM 上的 SQL Server 提供企业级备份功能。 在恢复服务保管库中存储和管理所有备份。 此解决方案提供许多优势,尤其是针对企业:
- 零基础结构备份:无需管理备份服务器或存储位置。
- 缩放:保护大量的 SQL VM 和数千个数据库。
- 即用即付:此功能是 Azure 备份提供的独立服务,但与所有 Azure 服务一样,你只需为使用的资源付费。
- 集中式管理和监视:通过 Azure 中的单个仪表板集中管理所有备份,包括 Azure 备份支持的其他工作负荷。
- 策略驱动的备份和保留:为定期备份创建标准备份策略。 建立保留策略,将备份保留数年之久。
- 支持 SQL Always On:检测和保护 SQL Server Always On 配置,并遵循备份可用性组的备份首选项。
- 15 分钟恢复点目标 (RPO) :最多可将 SQL 事务日志备份频率配置为每隔 15 分钟备份一次。
- 时间点还原:使用门户将数据库恢复到特定的时间点,无需手动还原多个完整备份、差异备份和日志备份。
- 合并的故障电子邮件警报:针对任何故障配置合并的电子邮件通知。
- Azure 基于角色的访问控制:确定谁可以通过门户管理备份和还原操作。
这种适用于 SQL VM 的 Azure 备份解决方案已正式发布。 有关详细信息,请参阅将 SQL Server 数据库备份到 Azure。
手动备份
若要手动管理 SQL VM 上的备份和还原操作,可以根据所用的 SQL Server 版本使用多个选项。 有关备份和还原的概述,请根据所用的 SQL Server 版本参阅以下文章之一:
注意
SQL Server 2008 和 SQL Server 2008 R2 超出了扩展支持范围,不再可从 Azure 市场获取。
以下部分更详细地介绍多个手动备份和还原选项。
备份到附加的磁盘
对于 Azure VM 上的 SQL Server,可以使用 VM 上附加的磁盘作为备份文件目标,通过本机备份和还原技术实现此目的。 不过,你只能根据虚拟机的大小,将有限数量的磁盘附加到 Azure 虚拟机。 磁盘管理开销也是一个考虑因素。
有关如何使用 SQL Server Management Studio (SSMS) 或 Transact-SQL 手动创建完整数据库备份的示例,请参阅创建完整数据库备份。
备份到 URL
从 SQL Server 2012 SP1 CU2 开始,可以直接备份和还原到 Microsoft Azure Blob 存储,此过程也称为备份到 URL。 SQL Server 2016 还对此功能做出了以下增强:
2016 增强功能 | 详细信息 |
---|---|
条带化 | 备份到 Microsoft Azure Blob 存储时,SQL Server 2016 支持备份到多个 blob,以便能够备份高达 12.8 TB 的大型数据库。 |
快照备份 | 通过使用 Azure 快照,SQL Server 文件快照备份为使用 Azure Blob 存储来存储的数据库文件提供接近实时的备份和更快速的还原。 使用此功能可简化备份和还原策略。 文件快照备份还支持时间点还原。 有关详细信息,请参阅 Azure 中针对数据库文件的快照备份。 |
有关详细信息,请根据所用的 SQL Server 版本参阅以下文章之一:
- SQL Server 2016 及更高版本:SQL Server 的 URL 备份
- SQL Server 2014:SQL Server 2014 备份到 URL
- SQL Server 2012:SQL Server 2012 备份到 URL
托管备份
从 SQL Server 2014 开始,托管备份会自动在 Azure 存储中创建备份。 在幕后,托管备份使用本文上一部分所述的“备份到 URL”功能。 托管备份也是支持 SQL Server VM 自动备份服务的基础功能。
从 SQL Server 2016 开始,托管备份添加了更多的选项用于配置计划、系统数据库备份,以及完整备份和日志备份的频率。
有关详细信息,请根据所用的 SQL Server 版本参阅以下文章之一:
决策矩阵
下表汇总了 Azure 中 SQL Server 虚拟机的每个备份和还原选项的功能。
选项 | 自动备份 | 适用于 SQL 的 Azure 备份 | 手动备份 |
---|---|---|---|
需要额外的 Azure 服务 | 否 | 是 | 否 |
在 Azure 门户中配置备份策略 | 是 | 是 | 否 |
在 Azure 门户中还原数据库 | 否 | 是 | 否 |
在一个仪表板中管理多个服务器 | 否 | 是 | 否 |
时点还原 | 是 | 是 | 是 |
15 分钟恢复点目标 (RPO) | 是 | 是 | 是 |
短期备份保留策略(天) | 是 | 是 | 否 |
长期备份保留策略(月、年) | 否 | 是 | 否 |
对 SQL Server Always On 的内置支持 | 否 | 是 | 否 |
备份到 Azure 存储帐户 | 是(自动) | 是(自动) | 是(客户管理的) |
存储和备份文件的管理 | 否 | 是 | 否 |
备份到 VM 上附加的磁盘 | 否 | No | 是 |
集中式可自定义备份报告 | 否 | 是 | 否 |
合并的故障电子邮件警报 | 否 | 是 | 否 |
基于 Azure Monitor 日志的自定义监视 | 否 | 是 | 否 |
使用 SSMS 或 Transact-SQL 脚本监视备份作业 | 是 | 是 | 是 |
使用 SSMS 或 Transact-SQL 脚本还原数据库 | 是 | No | 是 |
后续步骤
规划 Azure VM 上的 SQL Server 部署时,可在以下指南中找到预配指导:如何在 Azure 门户中预配 Windows SQL Server 虚拟机。
尽管备份和还原可用于迁移数据,但是,VM 上的 SQL Server 可能还存在更便捷的数据迁移路径。 有关迁移选项和建议的完整讨论,请参阅迁移指南:SQL Server 到 Azure 虚拟机上的 SQL Server。