Compartilhar via

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

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

使用专用 SQL 池还原点来恢复或将数据仓库复制到主区域中以前的状态。 使用数据仓库的异地冗余备份将数据还原到其他地理区域。

注意

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

什么是数据仓库快照

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

注意

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

  • 数据库大小
  • 源和目标数据仓库的位置(在地理还原的情况下)
  • 无法将数据仓库快照导出为单独的文件(例如,对于Azure Storage或本地环境)

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

注意

专用 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 portal,也可以以编程方式仅使用 PowerShell 或 REST API 触发快照来创建用户定义的还原点。

注意

如果您需要保存超过 7 天的还原点,请为此功能投票

注意

T-SQL 脚本不能用于按需备份。 可以使用Azure portal或通过 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 池的异地备份,可以禁用它们并节省灾难恢复storage成本。 因此,请参阅 使用指南:禁用专用 SQL 池(原 SQL DW 名)的异地备份。 如果禁用异地备份,如果主Azure数据中心不可用,将无法将专用 SQL 池恢复到配对Azure区域。

注意

如果您需要更短的异地备份 RPO,请投票支持此功能。 还可以创建用户定义的还原点,并从新创建的还原点还原到不同区域中的新data warehouse。 还原后,数据仓库联机,可以无限期暂停,以节省计算成本。 暂停的数据库按 Azure Premium Storage 费率产生存储费用。 一种常见的模式,用于较短的恢复点,是将数据并行导入数据仓库的主实例和辅助实例。 在此方案中,数据从源(或多源)引入,并保存到数据仓库的两个单独实例(主实例和辅助实例)。 为了节省计算成本,可以暂停仓库的辅助实例。 如果您需要数据仓库的活动版本,可以恢复,这只需要几分钟时间。

备份和还原成本

你会注意到 Azure 账单中有一个用于存储的条目和一个用于灾难恢复存储的条目。 存储费用是指将数据存储在主要区域中,以及通过快照捕获的增量更改的总成本。 有关快照收费方式的更详细说明,请参阅了解快照如何收取费用。 异地冗余费用是指存储异地备份的费用。

主要数据仓库及 7 天快照变化的总成本将舍入到最接近的 TB。 例如,如果数据仓库为 1.5 TB,并且快照捕获了 100 GB 的数据,则按 Azure 标准存储费率对 2 TB 的数据进行计费。

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

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

从还原点还原

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

可以保留恢复的数据仓库和当前的数据仓库,也可以删除其中一个。 如果要将当前的数据仓库替换为还原的数据仓库,可以使用ALTER DATABASE命令中的MODIFY NAME选项来重命名它。

注意

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

跨订阅还原

可以执行跨订阅还原

异地冗余还原

可以将您的专用 SQL 池恢复到支持该专用 SQL 池的任何区域,且该区域支持您选择的性能级别。

注意

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