在 Azure VM 中备份 SQL Server 数据库
本教程介绍如何将 Azure VM 上运行的 SQL Server 数据库备份到 Azure 备份恢复服务保管库。 在本文中,学习如何:
- 创建并配置保管库。
- 发现数据库并设置备份。
- 为数据库设置自动保护。
- 运行按需备份。
先决条件
在备份 SQL Server 数据库之前,请检查以下条件:
- 在托管 SQL Server 实例的 VM 所在的区域或位置标识或创建一个恢复服务保管库。
- 检查备份 SQL 数据库所需的 VM 权限。
- 验证 VM 是否已建立网络连接。
- 检查是否根据 Azure 备份的命名准则命名了 SQL Server 数据库。
- 验证是否未为该数据库启用了其他任何备份解决方案。 在设置此方案之前,请禁用其他所有 SQL Server 备份。 可以同时针对某个 Azure VM 以及该 VM 上运行的 SQL Server 数据库启用 Azure 备份,而不会发生任何冲突。
创建恢复服务保管库
恢复服务保管库是一个管理实体,它会存储一段时间内创建的恢复点,并提供用于执行备份相关操作的接口。 这些操作包括按需备份、执行还原和创建备份策略。
若要创建恢复服务保管库,请执行以下操作:
登录 Azure 门户。
搜索“备份中心”,然后转到“备份中心”仪表板。
在“概述”窗格中选择“保管库”。
选择“恢复服务保管库”>“继续” 。
在“恢复服务保管库”窗格中输入以下值:
订阅:选择要使用的订阅。 如果你仅是一个订阅的成员,则会看到该名称。 如果不确定要使用哪个订阅,请使用默认订阅。 仅当工作或学校帐户与多个 Azure 订阅关联时,才会显示多个选项。
资源组:使用现有资源组,或创建一个新的资源组。 若要查看订阅中可用的资源组的列表,请选择“使用现有资源”,然后从下拉列表中选择一个资源。 若要创建新的资源组,请选择“新建”并输入新资源组的名称。 有关资源组的详细信息,请参阅 Azure 资源管理器概述。
保管库名称:输入一个易记名称,用于标识此保管库。 名称对于 Azure 订阅必须是唯一的。 指定的名称应至少包含 2 个字符,最多不超过 50 个字符。 名称必须以字母开头且只能包含字母、数字和连字符。
区域:为保管库选择地理区域。 若要创建保管库来保护任何数据源,该保管库必须位于数据源所在的区域。
重要
如果不确定数据源的位置,请关闭该窗口。 在门户中访问你的资源列表。 如果数据源位于多个区域中,请为每个区域创建恢复服务保管库。 先在第一个位置创建保管库,然后再在其他位置中创建保管库。 无需指定存储帐户即可存储备份数据。 恢复服务保管库和 Azure 备份会自动处理这种情况。
提供值后,选择“查看 + 创建”。
要完成恢复服务保管库的创建,请选择“创建”。
创建恢复服务保管库可能需要一段时间。 可在右上方的“通知”区域监视状态通知。 创建保管库后,它会显示在“恢复服务保管库”的列表中。 如果没有显示保管库,请选择“刷新”。
注意
Azure 备份现在支持不可变保管库,可帮助确保恢复点一旦创建就无法根据备份策略在到期前将其删除。 可以将不可变性设为不可逆转,以最大限度地保护备份数据免受各种威胁,包括勒索软件攻击和恶意行动者。 了解详细信息。
发现 SQL Server 数据库
发现 VM 上运行的数据库。
在 Azure 门户中,转到“备份中心”,然后单击“+ 备份”。
选择“Azure 虚拟机中的 SQL”作为“数据源类型”,选择已创建的恢复服务保管库,然后单击“继续”。
在“备份目标”>“发现 VM 中的数据库”中,选择“开始发现”以搜索订阅中不受保护的 VM。 搜索过程需要花费一段时间,具体取决于订阅中不受保护的虚拟机数量。
发现后,未受保护的 VM 应会按名称和资源组列在列表中。
如果某个 VM 未按预期列出,请检查它是否已保管库中备份。
可能有多个 VM 同名,但它们属于不同的资源组。
在 VM 列表中,选择运行 SQL Server 数据库的 VM,然后选择“发现数据库”。
在“通知”区域跟踪数据库发现。 完成该作业可能需要一段时间,具体取决于 VM 上的数据库数量。 发现选定的数据库后,会显示一条成功消息。
Azure 备份将发现该 VM 上的所有 SQL Server 数据库。 在发现期间,后台将发生以下情况:
Azure 备份将 VM 注册到用于备份工作负荷的保管库。 已注册 VM 上的所有数据库只能备份到此保管库。
Azure 备份在 VM 上安装 AzureBackupWindowsWorkload 扩展。 不会在 SQL 数据库中安装任何代理。
Azure 备份在 VM 上创建服务帐户 NT Service\AzureWLBackupPluginSvc。
- 所有备份和还原操作使用该服务帐户。
- NT Service\AzureWLBackupPluginSvc 需要 SQL sysadmin 权限。 在 Azure 市场中创建的所有 SQL Server VM 已预装 SqlIaaSExtension。 AzureBackupWindowsWorkload 扩展使用 SQLIaaSExtension 自动获取所需的权限。
如果 VM 不是从市场创建的,则该 VM 上未安装 SqlIaaSExtension,并且发现操作将会失败并出现错误消息 UserErrorSQLNoSysAdminMembership。 请按照说明解决此问题。
配置备份
按如下所述配置备份:
在“备份目标”>“步骤 2: 配置备份”中,选择“配置备份”。
选择“添加资源”,查看所有已注册的可用性组和独立的 SQL Server 实例。
在“选择要备份的项中”,选择行左侧的箭头,展开该实例或 Always On 可用性组中所有不受保护的数据库的列表。
选择要保护的所有数据库,然后选择“确定”。
为了优化备份负载,Azure 备份会将一个备份作业中的最大数据库数目设置为 50。
定义备份策略。 可以执行以下操作之一:
选择 HourlyLogBackup 作为默认策略。
选择前面为 SQL 创建的现有备份策略。
根据 RPO 和保留范围定义新策略。
选择“启用备份”以提交“配置保护”操作,并在门户的“通知”区域中跟踪配置进度 。
创建备份策略
备份策略定义备份创建时间以及这些备份的保留时间。
- 策略是在保管库级别创建的。
- 多个保管库可以使用相同的备份策略,但必须向每个保管库应用该备份策略。
- 创建备份策略时,每日完整备份是默认设置。
- 可以添加差异备份,但仅在将完整备份配置为每周发生时,才能这样做。
- 了解不同类型的备份策略。
创建备份策略:
转到“备份中心”,然后单击“+ 策略”。
选择“Azure 虚拟机中的 SQL Server”作为数据源类型,选择应在其下创建策略的保管库,然后单击“继续”。
在“策略名称”处输入新策略的名称。
选择“完整备份”对应的“编辑”链接以修改默认设置 。
- 选择“备份频率”。 选择“每日”或“每周”。
- 如果选择“每日”,请选择备份作业开始时的小时和时区。 对于每日完整备份,无法创建差异备份。
对于“保留范围”,默认已选择所有选项。 清除任何不需要的保留范围限制,然后设置要使用的间隔。
- 任何类型的备份(完整、差异和日志)的最短保留期均为七天。
- 恢复点已根据其保留范围标记为保留。 例如,如果选择每日完整备份,则每天只触发一次完整备份。
- 根据每周保留范围和每周保留设置,将会标记并保留特定日期的备份。
- 每月和每年保留范围的行为类似。
选择“确定”接受设置来进行完整备份。
选择“差异备份”对应的“编辑”链接以修改默认设置 。
- 在“差异备份策略”中,选择“启用”打开频率和保留控件。
- 每天只能触发一次差异备份。 不能在执行完整备份的同一天触发差异备份。
- 差异备份最多可以保留 180 天。
- 差异备份保持期不能大于完整备份的日期(因为差异备份依赖于完整备份进行恢复)。
- Master 数据库不支持差异备份。
选择“日志备份”对应的“编辑”链接以修改默认设置
- 在“日志备份”中选择“启用”,并设置频率和保留控件。
- 日志备份最多可以每隔 15 分钟发生一次,最多可以保留 35 天。
- 如果数据库处于简单恢复模式中,则该数据库的日志备份计划将暂停,因此不会触发日志备份。
- 如果数据库的恢复模式从“完整”更改为“简单”,则日志备份将在恢复模式更改后的 24 小时内暂停 。 同样,如果恢复模式从“简单”更改为其他模式,则表示数据库现在支持日志备份,日志备份计划将在恢复模式更改后的 24 小时内启用。
在“备份策略”菜单中,选择是否启用“SQL 备份压缩” 。 默认已禁用此选项。 如果启用,SQL Server 会向 VDI 发送压缩的备份流。 Azure 备份将根据此控件的值,使用 COMPRESSION / NO_COMPRESSION 子句替代实例级别的默认值。
完成备份策略的编辑后,选择“确定”。
注意
每个日志备份都链接到上一个完整备份,以形成恢复链。 此完整备份将一直保留到最后一个日志备份的保留期结束为止。 这可能意味着完整备份会保留一段额外的时间,以确保所有日志都可以恢复。 假设你有每周完整备份、每日差异备份和 2 小时日志备份。 所有这些备份都将保留 30 天。 但是,只有在下一个完整备份可用后(即 30 + 7 天后),才能真正清除/删除这个每周完整备份。 例如,每周完整备份在 11 月 16 日执行。 根据保留策略,它应保留到 12 月 16 日。 该完整备份的最后一次日志备份发生在下一次计划的完整备份之前,即 11 月 22 日。 必须等到 12 月 22 日此日志备份可用后,才能删除 11 月 16 日的完整备份。 因此,11 月 16 日的完整备份将保留到 12 月 22 日。
运行按需备份
- 在恢复服务保管库中,选择“备份项目”。
- 选择“Azure VM 中的 SQL”。
- 右键单击数据库,并选择“立即备份”。
- 选择“备份类型”(完整/差异/日志/仅复制完整)和“压缩”(启用/禁用)。
- “按需完整备份”将备份保留最少 45 天,最多 99 年。
- “按需仅复制完整备份”接受任何值进行保留。
- “按需差异备份”根据策略中设置的计划差异保留来保留备份。
- “按需日志备份”根据策略中设置的计划日志保留来保留备份。
- 选择“确定”,开始备份。
- 通过转到恢复服务保管库并选择“备份作业”来监视备份作业。
后续步骤
本教程使用 Azure 门户执行了以下操作:
- 创建并配置保管库。
- 发现数据库并设置备份。
- 为数据库设置自动保护。
- 运行按需备份。
继续阅读下一教程,学习如何从磁盘还原 Azure 虚拟机。