在 Azure Stack 上备份 SQL Server

本文介绍如何配置 Microsoft Azure 备份服务器 (MABS) 以在 Azure Stack 上保护 SQL Server 数据库。

SQL Server 数据库保护工作流

向 Azure 备份以及从 Azure 恢复 SQL Server 数据库的管理工作涉及以下方面:

  1. 创建备份策略来保护 SQL Server 数据库
  2. 创建按需备份副本
  3. 从磁盘和 Azure 恢复数据库

先决条件和限制

  • 如果数据库的文件位于远程文件共享上,则保护将失败,并显示错误 ID 104。 MABS 不支持保护远程文件共享上的 SQL Server 数据。
  • MABS 无法保护远程 SMB 共享上存储的数据库。
  • 确保将可用性组副本配置为只读
  • 必须将系统帐户 NTAuthority\System 显式添加到 SQL Server 上的 Sysadmin 组中。
  • 在为部分包含的数据库执行备用位置恢复时,你必须确保目标 SQL 实例启用了包含的数据库功能。
  • 在为文件流数据库执行备用位置恢复时,你必须确保目标 SQL 实例启用了文件流数据库功能。
  • 对 SQL Server Always On 的保护:
    • 在创建保护组期间运行查询时,MABS 会检测可用性组。
    • MABS 会检测故障转移,并继续保护数据库。
    • MABS 支持 SQL Server 实例的多站点群集配置。
  • 保护使用 Always On 功能的数据库时,MABS 具有以下限制:
    • MABS 将遵循基于备份首选项在 SQL Server 中设置的可用性组的备份策略,如下所示:
      • 首选辅助副本 - 除了主副本是唯一在线副本的情况之外,备份应在辅助副本上进行。 如果有多个次要副本可用,则将选择具有最高备份优先级的节点进行备份。 如果只有主要副本可用,则应在主要副本上进行备份。
      • 仅辅助副本 - 不应在主副本上执行备份。 如果主副本是唯一在线副本,则不应进行备份。
      • 主副本 - 备份应始终在主副本上进行。
      • 任意副本 - 备份可以在可用性组中的任何可用性副本上进行。 将根据每个节点的备份优先级来确定要从中备份的节点。
    • 注意

      • 可从任何可读副本(也就是主要副本、同步次要副本、异步次要副本)进行备份。
      • 如果备份中排除了任何副本,例如“排除副本”已启用或标记为不可读,则在任何选项下都不会选择该副本进行备份。
      • 如果有多个副本可用且可读,则将选择具有最高备份优先级的节点进行备份。
      • 如果备份在所选节点上失败,则备份操作将失败。
      • 不支持恢复到原始位置。
  • SQL Server 2014 或更高版本的备份问题:
    • SQL Server 2014 添加了一项新功能,用于为 Azure Blob 存储上的本地 SQL Server 创建数据库。 MABS 不能用于保护此配置。
    • SQL Always On 选项的“首选次要副本”备份首选项存在一些已知问题。 MABS 始终从次要副本创建备份。 如果找不到次要副本,则备份将失败。

开始之前

安装并准备 Azure 备份服务器

创建备份策略

若要创建备份策略来保护要备份到 Azure 的 SQL Server 数据库,请执行以下操作:

  1. 在 Azure 备份服务器上,选择“保护”工作区

  2. 在工具菜单上,选择“新建”以创建新的保护组

    屏幕截图显示如何开始创建保护组。

    Azure 备份服务器将启动“保护组”向导,该向导将引导你完成创建保护组的过程。 选择下一步

  3. 在“选择保护组类型”边栏选项卡上,选择“服务器”

    屏幕截图显示如何选择“保护组类型 - 服务器”。

  4. 在“选择组成员”边栏选项卡上,“可用成员”列表中显示了各种数据源。 选择“+”以展开文件夹并显示子文件夹。 选中复选框以选择项。

    屏幕截图显示如何选择 SQL 数据库。

    所有选定的成员将出现在“所选成员”列表中。 选择想要保护的服务器或数据库后,选择“下一步”。

  5. 在“选择数据保护方法”边栏选项卡上,为保护组提供名称,并选中“我需要在线保护”复选框

    显示数据保护方法 - 短期磁盘和在线 Azure 的屏幕截图。

  6. 在“指定短期目标”边栏选项卡上,提供在磁盘上创建备份点所需的输入,然后选择“下一步”

    在示例中,“保持期”为 5 天,“同步频率”为 15 分钟一次,这是备份频率。 “快速完整备份”设置为“晚上 8:00”。

    屏幕截图显示短期目标。

    注意

    在显示的示例中,每天晚上 8:00 将通过传输在上一天的晚上 8:00 备份点之后已修改的数据来创建备份点。 此过程称为 快速完整备份。 事务日志每 15 分钟同步一次。 如果需要在晚上 9:00 恢复数据库,则会基于日志从上次的快速完整备份点(在本例中为晚上 8 点)创建恢复点。

  7. 在“检查磁盘分配”边栏选项卡上,验证可用的总存储空间以及能够使用的磁盘空间。 选择下一步

  8. 在“选择副本创建方法”中,选择如何创建第一个恢复点。 可以选择手动传输初始备份(脱离网络),以免网络出现带宽拥塞现象。 如果选择等待传输第一个备份,则可以指定初始传输的时间。 选择“下一页”。

    屏幕截图显示初始复制方法。

    初始备份复制要求将整个数据源(SQL Server 数据库)从生产服务器(SQL Server 计算机)传输到 Azure 备份服务器。 此类数据可能会非常大,通过网络传输此类数据可能会超过带宽限制。 因此,可以选择通过以下方式传输初始备份:“手动”(使用可移动媒体),以免网络出现带宽拥塞现象;或“自动通过网络”(于指定时间)。

    初始备份完成后,其余的备份都是初始备份副本的增量备份。 增量备份往往比较小,能轻松地通过网络传输。

  9. 选择需要运行一致性检查的时间,并选择“下一步”。

    屏幕截图显示如何计划一致性检查。

    Azure 备份服务器可以通过执行一致性检查来检查备份点的完整性。 Azure 备份服务器会计算生产服务器(在本方案中为 SQL Server 计算机)上的备份文件和该文件的已备份数据的校验和。 如果存在冲突,则会认为 Azure 备份服务器上的备份文件已损坏。 Azure 备份服务器 会发送与校验和不匹配部分相对应的块来纠正备份的数据。 由于一致性检查对性能要求较高,因此你可以计划一致性检查或者自动运行它。

  10. 如果要指定对数据源进行在线保护,请选择要通过 Azure 进行保护的数据库,并选择“下一步”。

    屏幕截图显示如何选择数据源。

  11. 选择适合组织策略的备份计划和保留策略。

    屏幕截图显示如何设置备份计划和保留期。

    在此示例中,备份会在一天的中午 12:00 和晚上 8:00 各进行一次。

    注意

    最好是在磁盘上设置几个短期恢复点,以便进行快速恢复。 这些恢复点适用于“操作恢复”。 Azure 具有较高的 SLA,其可用性也可以得到保证,因此可作为理想的非现场位置。

    最佳做法:如果将目的地为 Azure 的备份计划为在本地磁盘备份完成后启动,则始终会将最新的磁盘备份复制到 Azure。

  12. 选择保留策略计划。 有关保留策略工作原理的详细信息,请参阅使用 Azure 备份来取代磁带基础结构文章

    屏幕截图显示如何选择保留策略。

    在本示例中:

    • 备份会在一天的中午 12:00 和晚上 8:00 各进行一次,并且会保留 180 天。
    • 在星期六中午 12:00 进行的备份会保留 104 周
    • 在最后一个星期六中午 12:00 进行的备份会保留 60 个月
    • 在 3 月的最后一个星期六中午 12:00 进行的备份会保留 10 年
  13. 选择“下一步”,然后选择相应的选项将初始备份副本传输到 Azure。 可以选择“自动通过网络”

  14. 在“摘要”边栏选项卡中复查策略详细信息后,选择“创建组”以完成工作流。 可以选择“关闭”,然后在“监视”工作区中监视作业进度。

    显示保护组创建的进行中作业状态的屏幕截图。

运行按需备份

仅在首次备份时才会创建恢复点。 创建备份策略后,可以手动触发恢复点创建,而无需等待计划程序创建备份。

若要对 SQL Server 数据库运行按需备份,请执行以下步骤:

  1. 在创建恢复点之前,请等待数据库的保护组状态显示为“正常”。

    屏幕截图显示保护组成员。

  2. 右键单击该数据库并选择“创建恢复点”。

    显示如何开始创建在线恢复点的屏幕截图。

  3. 在下拉菜单中选择“在线保护”,然后选择“确定”以开始在 Azure 中创建恢复点 。

    屏幕截图显示如何选择“联机保护”选项。

  4. 在“监视”工作区中查看作业进度。

    屏幕截图显示监视控制台。

从 Azure 中恢复数据库

若要从 Azure 恢复受保护的实体(SQL Server 数据库),请执行以下步骤:

  1. 打开 Azure 备份服务器管理控制台。 导航到“恢复”工作区,可以在其中看到受保护的服务器。 浏览所需的数据库(在本示例中为 ReportServer$MSDPM2012)。 选择指定为“在线”点的一个“恢复开始”时间 。

    屏幕截图显示了如何选择恢复点。

  2. 右键单击数据库名称并选择“恢复”。

    屏幕截图显示如何选择要从 Azure 恢复的数据库。

  3. MABS 会显示恢复点的详细信息。 选择“下一步”。 选择恢复类型“恢复到 SQL Server 的原始实例”。 选择“下一页”。

    屏幕截图显示如何将数据库恢复到原始位置。

    在此示例中,MABS 将数据库恢复到另一个 SQL Server 实例或独立的网络文件夹。

  4. 在“指定恢复选项”边栏选项卡上,可以选择恢复选项(例如“网络带宽使用限制”),以便限制恢复操作所使用的带宽。 选择下一步

  5. 在“摘要”边栏选项卡上,会看到目前提供的所有恢复配置。 选择“恢复”。

    恢复状态显示数据库正在恢复。 可以选择“关闭”来关闭向导,并在“监视”工作区中查看进度。

    屏幕截图显示如何启动恢复过程。

    完成恢复操作后,还原的数据库在应用程序级别是一致的。

后续步骤