SQL Server 托管备份到 Azure:互操作性和共存

本主题介绍 SQL Server 托管备份与 Microsoft Azure 的互操作性,以及在 SQL Server 2014 中与多个功能的共存。 这些功能包括:AlwaysOn 可用性组、数据库镜像、备份维护计划、日志传送、临时备份、分离数据库和删除数据库。

AlwaysOn 可用性组

始终在线可用性组被配置为仅限 Azure 的解决方案,并支持 SQL Server 托管备份到 Microsoft Azure。 不支持仅本地部署或混合型 AlwaysOn 可用性组配置。 有关详细信息和其他注意事项,请参阅 为可用性组设置 SQL Server 托管备份到 Azure

数据库镜像

SQL Server 托管备份到 Microsoft Azure 仅在主体数据库上受支持。 如果主体和镜像都配置为使用 SQL Server 托管备份到 Microsoft Azure,则镜像数据库会被跳过,不会进行备份。 但是,如果发生故障转移,SQL Server 托管备份至 Microsoft Azure 会在镜像服务器完成角色切换并上线后启动备份过程。 在这种情况下,备份将存储在新容器中。 如果未将镜像配置为使用 SQL Server 托管备份来Microsoft Azure,则发生故障转移时,不会进行备份。 建议在主数据库和镜像数据库上配置 SQL Server 托管备份到 Microsoft Azure,以便在发生故障转移时备份可以继续。

小窍门

如果要在具有 SQL Server 托管备份到 Microsoft Azure 默认设置的实例上创建镜像数据库,最好禁用 SQL Server 托管备份到 Microsoft Azure 的实例默认设置,使其不适用于镜像数据库,然后在配置完主体和镜像后重新启用实例默认设置。

维护计划

不支持在启用将 SQL Server 托管备份到 Microsoft Azure 时使用维护计划为数据库创建备份。 维护计划将导致日志链中断,SQL Server 托管备份Microsoft Azure 可能无法在还原期间支持数据库的有保证的可恢复性。 这也适用于在实例级别启用 SQL Server 托管备份到 Microsoft Azure 时。

小窍门

SQL Server 托管备份到 Microsoft Azure 支持具有仅复制备份的维护计划,可以为同一数据库或实例配置。

日志传送

不能为同一数据库同时配置日志传送和 SQL Server 托管备份到 Microsoft Azure。 这样做会影响使用任一功能的数据库的可恢复性。

使用Transact-SQL和SQL Server Management Studio 进行特别备份

使用 Transact-SQL 或 SQL Server Management Studio 创建的临时备份或一次性备份如果不在 SQL Server 托管的 Microsoft Azure 备份范围内,可能会影响 SQL Server 至 Microsoft Azure 的托管备份过程,具体取决于使用的备份类型和存储介质。 将日志备份到不同于 SQL Server 托管备份到 Microsoft Azure 所使用的 Azure 存储帐户,或 Azure Blob 存储服务以外的任何其他目标都会造成日志链中断。 建议您使用smart_admin.sp_backup_on_demand(Transact-SQL)存储过程来启动针对已启用 SQL Server 托管备份到 Microsoft Azure 的数据库的备份。 可以使用此存储过程启动完整数据库或日志备份。

删除数据库和分离数据库

如果已分离或删除了启用 SQL Server 托管备份至 Microsoft Azure 的数据库,尽管无法进行其他备份,但之前的备份仍会保存在存储中,直到保留期结束,届时备份将被清除。

对恢复模式的更改

  • 如果将数据库的恢复模式从简单更改为完整大容量日志,则可以选择将SQL Server托管备份配置为使用Microsoft Azure为该数据库进行备份。 这将被视为从 SQL Server 管理备份到 Microsoft Azure 的角度来看是一个新数据库。

  • 如果将数据库的恢复模式从 完整大容量记录 更改为 简单,并且启用了 Azure 的 SQL Server 托管备份,则备份作业将不再被安排。 保留期设置仍将处于活动状态,备份文件将保留在存储帐户中,直到保持期已过。 如果要保留备份,建议将文件下载到其他存储帐户或本地位置。 配置设置会保留,如果恢复模式再次设置为 “完整 ”或 “大容量记录 ”,则可以重复使用。

使用其他备份工具或自定义脚本进行日志备份

配置为在同一数据库上执行日志备份的任何两个备份都会导致备份日志链中断。 尽管 SQL Server 托管备份到 Microsoft Azure 会尝试通过在检测到备份链中断时安排完整备份来解决问题,但这意味着需要持续应对由两个彼此竞争的工具造成的定期中断和日志备份。 这也可能会影响数据库的可恢复性,因为任何工具都不可能按顺序进行完整的备份集。 尽管这适用于执行日志备份的任何两项功能或工具,但调用特定示例非常有用,如下所述。 这也是配置维护计划或日志传送问题的基础,如本主题前面部分所述。

基于 Data Protection Manager (DPM) 的备份: Microsoft Data Protection Manager 允许执行完整备份和增量备份。 增量备份是创建 T 日志备份后进行日志截断的备份。 因此,不支持为同一数据库同时配置 DPM 和 SQL Server 托管备份到 Microsoft Azure。

第三方工具或脚本: 任何执行日志备份导致日志截断的第三方工具或脚本都与 Microsoft Azure 的 SQL Server 托管备份不兼容,并且不受支持。

如果为数据库实例启用了 SQL Server 托管备份至 Microsoft Azure,并且想要进行临时备份,则可以按照前面部分中描述的使用 smart_admin.sp_backup_on_demand (Transact-SQL) 存储过程。 如果需要在独立于 SQL Server 托管备份到 Microsoft Azure 的情况下定期安排或取消备份,可以使用“仅复制备份”。 有关详细信息,请参阅 Copy-Only 备份(SQL Server)。