你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
具有长期保留功能的 Azure Database for PostgreSQL 备份
本文介绍如何备份 Azure Database for PostgreSQL 服务器。 在开始之前,请查看支持的配置、功能注意事项和已知限制
在 Azure PostgreSQL 数据库上配置备份
可以跨多个 Azure PostgreSQL 服务器在多个数据库上配置备份。 若要使用 Azure 备份在 Azure PostgreSQL 数据库上配置备份,请执行以下步骤:
转到“备份保管库”->“+备份”。
也可以从备份中心导航到此页。
选择或创建一个备份策略,用于定义备份计划和保留期。
选择要备份的 Azure PostgreSQL 数据库:跨订阅选择 Azure PostgreSQL 服务器之一(如果这些服务器位于保管库所在的区域)。 展开箭头以查看服务器中数据库的列表。
注意
- 无需备份 azure_maintenance 和 azure_sys 数据库。 此外,你不能备份已备份到备份保管库的数据库。
- 通过在网络设置中允许使用受信任的 Microsoft 服务,可以备份启用了专用终结点的 Azure PostgreSQL 服务器。
分配 Azure 密钥保管库,用于存储在连接到所选数据库时所用的凭据。 你应该已在密钥保管库中创建了相关机密。 若要在单个行的级别分配密钥保管库,请单击“选择密钥保管库和机密”。 还可以通过选择多个行并在网格顶部的菜单中单击“分配密钥保管库”来分配密钥保管库。
若要指定机密信息,请使用以下选项之一:
输入机密 URI:如果与你共享了/你知道机密 URI,请使用此选项。 可以从“密钥保管库”->“机密(选择机密)”->“机密标识符”复制机密 URI。
但是,如果使用此选项,Azure 备份将看不到有关你引用的密钥保管库的信息。 因此,无法以内联方式授予对密钥保管库的访问权限。 备份管理员以及 Postgres 和/或密钥保管库管理员需确保在“配置备份”流之外手动授予对备份保管库的访问权限,这样才能使备份操作成功。
选择密钥保管库:如果你知道密钥保管库和机密名称,请使用此选项。 如果使用此选项,你(对密钥保管库拥有写入访问权限的备份管理员)能够以内联方式授予对密钥保管库的访问权限。 密钥保管库和机密可能已预先存在,也可能正在创建。 确保机密是采用 ADO.net 格式的 PG 服务器连接字符串,可以使用在服务器上拥有“备份”特权的数据库用户的凭据对其进行更新。 详细了解如何在密钥保管库中创建机密。
机密信息更新完成后,将在更新密钥保管库信息之后开始验证。
注意
- 在此处,备份服务将验证它是否拥有从密钥保管库读取机密详细信息并连接到数据库所需的所有访问权限。
- 如果发现缺少一个或多个访问权限,它将显示一条错误消息 –“角色分配未完成,或用户无法分配角色”。
用户无法分配角色:当你(备份管理员)对 PostgreSQL 服务器和/或密钥保管库不拥有写入访问权限,因此无法分配“查看详细信息”下列出的缺失权限时,将显示此消息 。 使用操作按钮下载分配模板,并让 PostgreSQL 和/或密钥保管库管理员运行该模板。这是一个 ARM 模板,可帮助你分配对所需资源的必要权限。 成功运行该模板后,在“配置备份”页上单击“重新验证”。
角色分配未完成:当你(备份管理员)对 PostgreSQL 服务器和/或密钥保管库拥有写入访问权限,因此可以分配“查看详细信息”下列出的缺失权限时,将显示此消息 。 使用顶部操作菜单中的“分配缺少的角色”操作按钮以内联方式授予对 PostgreSQL 服务器和/或密钥保管库的权限。
在顶部菜单中选择“分配缺少的角色”并分配角色。 该过程开始后,所缺少的针对 KV 和/或 PG 服务器的访问权限将授予备份保管库。 可以定义访问权限的授予范围。 该操作完成后,将开始重新验证。
- 备份保管库从密钥保管库访问机密,并运行与数据库的测试连接,以验证是否正确输入了凭据。 还会检查数据库用户的特权,以确定数据库用户是否对数据库拥有备份相关的权限。
- 低特权用户可能对数据库不拥有备份/还原权限。 因此验证将会失败。 系统将动态生成 PowerShell 脚本(为每个记录/选定数据库各生成一个)。 运行 PowerShell 脚本以向数据库用户授予对数据库的这些特权。 或者,可以使用 PG 管理员身份或 PSQL 工具分配这些特权。
保留“备份就绪状态”为“成功”的记录,以继续完成最后一步(提交操作)。
提交“配置备份”操作,并在“备份实例”下跟踪进度。
创建备份策略
可以在执行“配置备份”流期间随时创建备份策略。 或者,可以转到“备份中心”->“备份策略”->“添加”。
输入新策略的“名称”。
定义备份计划。
目前只能使用“每周”备份选项。 但是,可以计划在一周中的多天进行备份。
定义保留设置。
可以添加一个或多个保留规则。 每个保留规则均假定特定备份的输入,以及这些备份的数据存储和保留期限。
若要将备份存储到两个数据存储(或层)中的一个,请选择“备份数据存储”(标准层)或“存档数据存储”(预览版) 。
选择“过期时”以在备份数据存储中的备份过期时将其移动到存档数据存储。
注意
没有任何其他保留规则时,将应用默认保留规则,其默认值为 3 个月。
- 备份数据存储中的保留期限从 7 天到 10 年不等。
- 存档数据存储中的保留期限从 6 个月到 10 年不等。
注意
保留规则按预先确定的优先级顺序进行评估。 每年规则的优先级最高,其次分别是每月规则和每周规则。 没有其他规则符合条件时,将应用默认保留设置。 例如,同一恢复点可能会是每周进行的首次成功备份以及每月进行的首次成功备份。 但是,由于每月规则的优先级高于每周规则的优先级,因此适用与每月进行的首次成功备份相对应的保留期。
在密钥保管库中创建机密
机密是采用 ADO.net 格式的 PG 服务器连接字符串,可以使用在服务器上拥有备份特权的数据库用户的凭据对其进行更新。 从 PG 服务器复制连接字符串并在文本编辑器中进行编辑,以更新用户 ID 和密码。
运行 PowerShell 脚本以向数据库用户授予特权
在配置备份期间动态生成的 PowerShell 脚本接受数据库用户(作为输入)和 PG 管理员凭据,以便向数据库用户授予对数据库的备份相关特权。
计算机上必须存在 PSQL 工具,并且 PATH 环境变量应已适当地设置为 PSQL 工具路径。
确保 Azure PostgreSQL 实例中的“连接安全性设置”将计算机的 IP 地址列入允许列表,以允许网络连接。
运行按需备份
若要触发不在策略指定的计划中的备份,请转到“备份实例”->“立即备份”。 从关联的备份策略中定义的保留规则列表中进行选择。
跟踪备份作业
Azure 备份服务为计划的备份创建作业,或者触发按需备份操作以便进行跟踪。 查看备份作业状态:
转到“备份实例”屏幕。
其中显示了过去 7 天的作业仪表板,其中包含操作和状态。
若要查看备份作业的状态,请选择“查看全部”,以查看此备份实例的当前作业和已完成的作业。
查看备份和还原作业及其状态的列表。 从作业列表中选择一个作业,查看作业详细信息。