Fabric 中的镜像是一种基于云的企业级零 ETL SaaS 技术。 本部分介绍如何创建镜像的 Azure Database for PostgreSQL 灵活服务器,此操作将在 OneLake 中创建 PostgreSQL 数据的只读连续复制副本。
先决条件
- 创建或使用现有的 Azure Database for PostgreSQL 灵活服务器。
- 如果没有 Azure Database for PostgreSQL 灵活服务器,请新建一个灵活服务器。
- 作为教程,我们建议使用现有数据库之一的副本或任何可从备份中快速恢复的现有测试或开发数据库。 如果要使用现有备份中的数据库,请参阅从 Azure Database for PostgreSQL 灵活服务器中的备份还原数据库。
- 需要 Fabric 的现有容量。 如果没有,请启动 Fabric 试用版。
- Fabric 容量需要处于活动状态并正在运行。 暂停或删除的容量也会停止镜像,且数据不再复制。
- 确保启用以下 Fabric 租户设置。 若要了解如何启用租户设置,请参阅 Fabric 租户设置。
- Fabric 访问 Azure Database for PostgreSQL 灵活服务器所需的网络要求:
- 目前,镜像功能不支持镜像 Azure 虚拟网络或专用网络中的 Azure Database for PostgreSQL 灵活服务器。 如果 Azure Database for PostgreSQL 灵活服务器在专用网络后,则无法启用镜像功能。
- 你需要更新 Azure Database for PostgreSQL 灵活服务器防火墙规则,以“允许公用网络访问”,并启用“允许 Azure 服务”选项,以连接到 Azure Database for PostgreSQL 灵活服务器。
准备 Azure Database for PostgreSQL
Azure Database for PostgreSQL 灵活服务器中的镜像功能基于逻辑复制,在连接到数据之前需要配置一些特定的先决条件。
重要
为了指导用户启用这些先决条件,我们在 Azure 门户中创建了一个 Fabric 镜像页,可自动执行所有这些操作。 有关详细信息,请参阅 PostgreSQL 灵活服务器的 Fabric 镜像概念。
- 必须启用系统分配的托管标识 (SAMI)。
- 预写日志 (WAL) 的
wal_level
服务器参数必须设置为“逻辑”。 - 扩展 (azure_cdc) 是必需的,必须列入允许列表并预加载(需要重启)。
- 源服务器中的每个镜像数据库的
max_worker_processes
服务器参数必须增加 3。
Fabric 镜像的数据库角色
接下来,需要为 Fabric 服务提供或创建 PostgreSQL 角色,以便该服务连接到 Azure Database for PostgreSQL 灵活服务器。
重要
在当前预览版中,不支持使用 Microsoft Entra ID 用户和服务主体连接到 Azure Database for PostgreSQL 灵活服务器中的源数据库。 使用基本身份验证(PostgreSQL 身份验证)。
为实现此目的,可以指定用于连接到源系统的数据库角色。
使用数据库角色
使用 pgAdmin 或 Azure Data Studio 连接到 Azure Database for PostgreSQL 灵活服务器。
创建数据库用户并分配相应的权限。
- 创建名为
fabric_user
的 PostgreSQL 角色。 可以为此角色选择任何名称。 提供自己的强密码。 运行以下 SQL 脚本,向名为CREATEDB
的新角色授予CREATEROLE
、LOGIN
、REPLICATION
、azure_cdc_admin
和fabric_user
权限。
CREATE ROLE fabric_user CREATEDB CREATEROLE LOGIN REPLICATION PASSWORD '<strong password>'; GRANT azure_cdc_admin TO fabric_user;
- 创建名为
创建的数据库用户必须为
owner
要在镜像数据库中复制的表。 这意味着表是由该用户创建的,或者这些表的所有权已使用ALTER TABLE xxx OWNER TO fabric_user;
更改。 请注意,若要将所有权切换到新用户,可能需要先授予该用户对public
架构的所有权限。 有关用户帐户管理的详细信息,请参阅 Azure Database for PostgreSQL 用户管理 文档、 适用于数据库角色和特权的 PostgreSQL 产品文档、 GRANT 语法和 特权。
创建镜像的 Azure Database for PostgreSQL 灵活服务器
- 打开 Fabric 门户。
- 使用现有的工作区,或创建新的工作区。
- 导航到“创建”窗格。 选择“创建”图标。
- 滚动到“数据仓库”部分,然后选择“镜像的 Azure Database for PostgreSQL(预览版)”。
- 可以在“新建源”下选择 Azure Database for PostgreSQL 为源灵活服务器创建新的连接,或在“OneLake 目录”下选择现有连接。
- 在“新建源”页面中插入灵活服务器名称和数据库,然后可以选择现有的连接凭据,也可以插入在上一步中创建的数据库角色和密码。
- 选中“使用加密连接”复选框,并取消选中“允许在本地或 VNet 数据网关使用此连接”。
- 选择 连接。
- 在“选择数据”中,选择要在 Fabric 的镜像数据库中复制的数据库表。
- 如果此页显示任何错误或警告消息,请参阅排查来自 Azure Database for PostgreSQL 灵活服务器的 Fabric 镜像数据库的问题。
连接到你的 Azure Database for PostgreSQL 灵活服务器
接下来,从 Fabric 连接到 Azure Database for PostgreSQL 灵活服务器。 以下步骤将指导你完成创建与 Azure Database for PostgreSQL 灵活服务器的连接:
- 在“新建源”下选择“Azure Database for PostgreSQL(预览版)”。 或者从 OneLake 中心选择现有的 Azure Database for PostgreSQL 灵活服务器连接。
- 如果选择了“新建连接”,请输入 Azure Database for PostgreSQL 灵活服务器的连接详细信息。
- 服务器:可以通过在 Azure 门户中导航到 Azure Database for PostgreSQL 灵活服务器“概述”页来查找服务器名称。 例如,
<server-name>.postgres.database.azure.com
。 - 数据库:输入 Azure Database for PostgreSQL 灵活服务器的名称。
- 连接:创建新连接。
- 连接名称:会自动提供名称。 无法更改它。
- 身份验证类型(当前预览版中仅提供基本身份验证):
- 基本身份验证(PostgreSQL 身份验证)
- 服务器:可以通过在 Azure 门户中导航到 Azure Database for PostgreSQL 灵活服务器“概述”页来查找服务器名称。 例如,
- 选择 连接。
启动镜像过程
- “配置镜像”屏幕允许你镜像数据库中的所有数据,这是默认选项。
- 镜像所有数据意味着,镜像启动后创建的任何新表都会被镜像。
- 也可选择只镜像某些对象。 禁用“镜像所有数据”选项,然后从数据库中选择单独的表。 在本教程中,我们将选择“镜像所有数据”选项。
- 选择“镜像数据库”。 镜像开始。
- 等待 2-5 分钟。 然后,选择“监视复制”以查看状态。
- 几分钟后,状态应变为“正在运行”,这表明正在同步表。 如果未看到表和相应的复制状态,请等待几秒钟,然后刷新面板。
- 完成表的初始复制后,“上次刷新”列中会显示一个日期。
- 现在,你的数据已启动并运行,整个 Fabric 中具有各种可用的分析场景。
重要
必须在 Microsoft Fabric 的镜像数据库中重新配置在源数据库中建立的任何精细安全性设置。 请参阅 Microsoft Fabric 中的 SQL 粒度权限。
监视 Fabric 镜像
配置镜像后,将定向到“镜像状态”页。 可以在此处监视复制的当前状态。 有关复制状态的详细信息和详细信息,请参阅 Monitor Fabric 镜像数据库复制。