你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
用于 PostgreSQL 的 Azure 数据库是一种托管服务,可用于在云中运行、管理和缩放具有高可用性的 PostgreSQL 数据库。 本快速入门介绍如何将 Azure VM 上运行的 Azure Database for PostgreSQL 服务器备份到 Azure 备份恢复服务保管库。 若要创建 Azure Database for PostgreSQL 服务器,请参阅教程。
先决条件
在开始备份 Azure PostgreSQL 数据库之前:
- 在要备份 Azure Database for PostgreSQL 服务器实例的区域标识或创建备份保管库。
- 检查是否根据 Azure 备份的命名准则命名了 Azure Database for PostgreSQL 服务器。 了解详细信息
- 在密钥保管库中创建机密。
- 使用 PowerShell 脚本向数据库用户授予特权。
- 允许相关密钥保管库的访问权限。
- 提供数据库用户对数据库的备份权限。
- 允许 PostgreSQL 服务器的访问权限。
- 创建备份策略。
在数据库上配置备份
可以跨多个 Azure PostgreSQL 服务器在多个数据库上配置备份。 若要使用 Azure 备份在 Azure PostgreSQL 数据库上配置备份,请执行以下步骤:
转到“备份保管库”->“+备份”。
也可以从备份中心导航到此页。
选择或创建一个备份策略,用于定义备份计划和保留期。
选择要备份的 Azure PostgreSQL 数据库:跨订阅选择 Azure PostgreSQL 服务器之一(如果这些服务器位于保管库所在的区域)。 展开箭头以查看服务器中数据库的列表。
注意
无需备份 azure_maintenance 和 azure_sys 数据库。 此外,你不能备份已备份到备份保管库的数据库。
分配 Azure 密钥保管库,用于存储在连接到所选数据库时所用的凭据。 若要在单个行的级别分配密钥保管库,请单击“选择密钥保管库和机密”。 还可以通过选择多个行并在网格顶部的菜单中单击“分配密钥保管库”来分配密钥保管库。
若要指定机密信息,请使用以下选项之一:
输入机密 URI:如果与你共享了/你知道机密 URI,请使用此选项。 可以从“密钥保管库”->“机密(选择机密)”->“机密标识符”复制机密 URI。
但是,如果使用此选项,Azure 备份将看不到有关你引用的密钥保管库的信息。 因此,无法以内联方式授予对密钥保管库的访问权限。 备份管理员以及 Postgres 和/或密钥保管库管理员需确保在“配置备份”流之外手动授予对备份保管库的访问权限,这样才能使备份操作成功。
选择密钥保管库:如果你知道密钥保管库和机密名称,请使用此选项。 如果使用此选项,你(对密钥保管库拥有写入访问权限的备份管理员)能够以内联方式授予对密钥保管库的访问权限。 密钥保管库和机密可能已预先存在,也可能正在创建。 确保机密是采用 ADO.net 格式的 PG 服务器连接字符串,可以使用在服务器上拥有“备份”特权的数据库用户的凭据对其进行更新。 详细了解如何在密钥保管库中创建机密。
机密信息更新完成后,将在更新密钥保管库信息之后开始验证。
注意
- 在此处,备份服务将验证它是否拥有从密钥保管库读取机密详细信息并连接到数据库所需的所有访问权限。
- 如果发现缺少一个或多个访问权限,它将显示错误消息之一:“角色分配未完成,或用户无法分配角色”。
用户无法分配角色:当你(备份管理员)对 PostgreSQL 服务器和/或密钥保管库不拥有写入访问权限,因此无法分配“查看详细信息”下列出的缺失权限时,将显示此消息 。 使用操作按钮下载分配模板,并让 PostgreSQL 和/或密钥保管库管理员运行该模板。这是一个 ARM 模板,可帮助你分配对所需资源的必要权限。 成功运行该模板后,在“配置备份”页上单击“重新验证”。
角色分配未完成:当你(备份管理员)对 PostgreSQL 服务器和/或密钥保管库拥有写入访问权限,因此可以分配“查看详细信息”下列出的缺失权限时,将显示此消息 。 使用顶部操作菜单中的“分配缺少的角色”操作按钮以内联方式授予对 PostgreSQL 服务器和/或密钥保管库的权限。
在顶部菜单中选择“分配缺少的角色”并分配角色。 该过程开始后,所缺少的针对 KV 和/或 PG 服务器的访问权限将授予备份保管库。 可以定义访问权限的授予范围。 该操作完成后,将开始重新验证。
备份保管库从密钥保管库访问机密,并运行与数据库的测试连接,以验证是否正确输入了凭据。 还会检查数据库用户的特权,以确定数据库用户是否对数据库拥有备份相关的权限。
默认情况下,PostgreSQL 管理员对数据库拥有所有备份和还原权限。 因此验证将会成功。
低特权用户可能没有对数据库的备份/还原权限。 因此验证将会失败。 系统将动态生成 PowerShell 脚本(为每个记录/选定数据库各生成一个)。 运行 PowerShell 脚本以向数据库用户授予对数据库的这些特权。 或者,可以使用 PG 管理员身份或 PSQL 工具分配这些特权。
保留“备份就绪状态”为“成功”的记录,以继续完成最后一步(提交操作)。
提交“配置备份”操作,并在“备份实例”下跟踪进度。
运行按需备份
若要触发(不在策略中指定的计划中的)按需备份,请执行以下步骤:
跟踪备份作业
Azure 备份服务为计划的备份创建作业,或者触发按需备份操作以便进行跟踪。 查看备份作业状态:
转到“备份实例”屏幕。
其中显示了过去 7 天的作业仪表板,其中包含操作和状态。
若要查看备份作业的状态,请选择“查看全部”,以查看此备份实例的当前作业和已完成的作业。
查看备份和还原作业及其状态的列表。 从作业列表中选择一个作业,查看作业详细信息。