备份和还原 Azure Synapse Analytics 中的专用 SQL 池

本文介绍如何在 Azure Synapse 专用 SQL 池中使用备份和还原。

使用专用 SQL 池还原点可以恢复或复制主要区域中旧状态的数据仓库。 使用数据仓库异地冗余备份可还原到不同的地理区域。

注意

并非 Azure Synapse 工作区中专用 SQL 池的所有功能都适用于专用 SQL 池(之前称为 SQL DW),反之亦然。 有关详细信息,请参阅 Azure Synapse 专用 SQL 池(旧称为“SQL DW”)与 Azure Synapse Analytics 工作区中的专用 SQL 池之间有何区别?

什么是数据仓库快照

数据仓库快照会创建一个还原点,利用该还原点可将数据仓库恢复或复制到以前的状态。 由于专用 SQL 池是一个分布式系统,因此数据仓库快照包含许多位于 Azure 存储中的文件。 快照捕获数据仓库中存储的数据的增量更改。

注意

专用 SQL 池恢复时间目标 (RTO) 速率可能不同。 可能影响恢复(还原)时间的因素:

  • 数据库大小
  • 源和目标数据仓库(异地还原的情况下)的位置
  • 数据仓库快照无法导出为单独的文件(例如,适用于 Azure 存储的本地环境)

数据仓库还原是基于现有数据仓库或已删除数据仓库的还原点创建的新数据仓库。 还原数据仓库是任何业务连续性和灾难恢复策略的基本组成部分,因为数据库还原可以在意外损坏或删除数据后重新创建数据。 此外,数据仓库快照是出于测试或开发目的创建数据仓库副本的强大机制。

注意

专用 SQL 池恢复时间目标 (RTO) 速率可能不同。 可能影响恢复(还原)时间的因素:

  • 数据库大小
  • 源和目标数据仓库(异地还原的情况下)的位置

自动还原点

快照是用于创建还原点的内置功能。 无需启用此功能。 但是,专用 SQL 池应处于活动状态才能创建还原点。 如果它频繁暂停,则可能不会创建自动还原点,因此请确保在暂停专用 SQL 池之前创建用户定义的还原点。 用户目前无法删除自动还原点,因为服务使用这些还原点来维护 SLA 以进行恢复。

系统会全天捕获数据仓库的快照,创建可以使用七天的还原点。 无法更改此保留期。 专用 SQL 池支持八小时恢复点目标 (RPO)。 可以根据过去七天捕获的任意一个快照,还原主要区域中的数据仓库。

若要查看上一个快照的启动时间,可对联机专用 SQL 池运行此查询。

SELECT TOP 1 *
FROM sys.pdw_loader_backup_runs
ORDER BY run_id desc;

注意

每四 (4) 小时进行一次备份,以满足八 (8) 小时的 SLA。 因此,sys.pdw_loader_backup_runs 动态管理视图将每四 (4) 小时显示一次备份活动。

用户定义的还原点

使用此功能,可以在大型修改之前和之后手动触发快照,以便创建数据仓库的还原点。 此功能可确保在出现工作负荷中断或用户错误的情况下,还原点在逻辑上是一致的,这样可以提供额外的数据保护,缩短恢复时间。 用户定义的还原点可以使用七天,然后系统会替你将它自动删除。 无法更改用户定义的还原点的保留期。 无论在任何时间点,均会保证 42 个用户定义的还原点,因此,它们必须在创建另一个还原点之前删除。 可以通过使用 Azure 门户或通过仅使用 PowerShell 或 REST API 以编程方式触发快照来创建用户定义的还原点。

注意

如需将还原点保留 7 天以上,请为此功能投票

注意

T-SQL 脚本不能用于按需备份。 用户定义的还原点可以使用 Azure 门户创建,也可以使用 PowerShell 或 REST API 以编程方式创建。

如果你要找的是长期备份 (LTR) 概念,请执行以下操作:

  1. 创建新的用户定义的还原点,也可以使用自动生成的还原点之一。
  2. 从新建的还原点还原到新数据仓库。
  3. 还原后,你就会有联机专用 SQL 池。 无限期暂停它以节省计算成本。 暂停的数据库按 Azure Synapse 存储费率收取存储费用。

如需已还原数据仓库的活动副本,可以进行恢复,应该只需几分钟时间。

创建用户定义的还原点

可以通过编程方式创建新的用户定义的还原点。 根据你正在使用的 SQL 池选择正确的方法:独立专用 SQL 池(以前为 SQL DW),或 Synapse 工作区中的专用 SQL 池。

Azure PowerShell

REST API

删除用户定义的还原点

可以通过编程方式删除特定的用户定义的还原点。 根据你正在使用的 SQL 池选择正确的方法:独立专用 SQL 池(以前为 SQL DW),或 Synapse 工作区中的专用 SQL 池。

Azure PowerShell

REST API

还原点保留期

下面列出了还原点保留期的详细信息:

  1. 专用 SQL 池会在达到 7 天保留期并且总共至少有 42 个还原点(包括用户定义的还原点和自动还原点)时删除还原点。
  2. 暂停专用 SQL 池时不会创建快照。
  3. 还原点的存在时长是从创建还原点的时间算起的绝对日历天数(包括 SQL 池暂停的时间)。
  4. 在任何时间点,专用 SQL 池均保证能够存储最多 42 个用户定义的还原点或 42 个自动还原点,只要这些还原点尚未达到 7 天保留期的限制
  5. 如果创建了快照,然后专用 SQL 池暂停 7 天以上的时间,然后进行了恢复,那么还原点会持续存在,直到总共有 42 个还原点(包括用户定义的还原点和自动还原点)

删除 SQL 池时的快照保留

删除专用 SQL 池时,系统会创建最终的快照并将其保存七天。 可以将专用 SQL 池还原至删除时所创建的最终还原点。 如果专用 SQL 池是在暂停状态下删除的,则不会创建快照。 在这种情况下,请确保在删除专用 SQL 池之前创建用户定义的还原点。

异地备份和灾难恢复

每日在配对的数据中心创建一次异地备份。 异地还原的 RPO 为 24 小时。 异地还原始终是数据移动操作,而 RTO 则将取决于数据大小。 仅保留最新的异地备份。 可以将异地备份还原到支持专用 SQL 池的任何其他区域的服务器。 使用异地备份可在无法访问主要区域中的还原点时还原数据仓库。

如果专用 SQL 池不需要异地备份,则可以禁用这些备份,从而节省灾难恢复的存储成本。 为此,请参阅操作方法指南:禁用专用 SQL 池(之前称为 SQL DW)的异地备份。 如果禁用异地备份,则在主 Azure 数据中心不可用时,将无法将专用 SQL 池恢复到配对的 Azure 区域。

注意

如果希望异地备份的 RPO 更短,请为此功能投票。 此外,可以创建用户定义的还原点,然后从新建的还原点还原到其他区域中的新数据仓库。 还原后,数据仓库将会联机,可以无限期将其暂停,以节省计算成本。 暂停的数据库按 Azure 高级存储费率收取存储费用。 较短恢复点的另一种常见模式是将数据并行引入到数据仓库的主要实例和辅助实例中。 在这种情况下,数据从一个(或多个)源中引入并持久保存到数据仓库的两个独立实例(主要实例和辅助实例)。 为了节省计算成本,可以暂停仓库的辅助实例。 如果需要数据仓库的活动副本,可以执行恢复,只需花费几分钟时间。

备份和还原成本

Azure 帐单上将列出存储的明细项目,以及灾难恢复存储的明细项目。 存储费用是在主要区域中存储数据的费用加上快照捕获增量更改的费用。 有关快照收费方式的更详细说明,请参阅了解快照如何收取费用。 异地冗余费用是指存储异地备份的费用。

主数据仓库和 7 天快照更改的总费用根据 TB 数的舍入近似值计算。 例如,如果数据仓库为 1.5 TB,快照捕获了 100 GB,则会根据 Azure 标准存储费率计收 2 TB 数据的费用。

如果使用的是异地冗余存储,则会单独收取异地存储费。 异地冗余存储按标准的读取访问异地冗余存储 (RA-GRS) 费率计费。

有关 Azure Synapse 定价的详细信息,请参阅 Azure Synapse 定价。 跨区域还原时,不会对数据流出量收费。

从还原点还原

每个快照创建一个代表快照开始时间的还原点。 如果要还原数据仓库,请选择一个还原点,并发出还原命令。

可以保留还原的数据仓库和当前的数据仓库,也可以删除其中一个。 如果希望使用已还原数据仓库替换当前数据仓库,可使用 ALTER DATABASE 的 MODIFY NAME 选项将其重命名。

注意

专用 SQL 池不支持表级还原。 只能从备份中恢复整个数据库,然后使用 复制所需表

跨订阅还原

可以执行跨订阅还原

异地冗余还原

可以将专用 SQL 池还原到支持所选性能级别的专用 SQL 池的任何区域。

注意

若要执行异地冗余还原,不能选择退出此功能。