教程:从 Azure Database for PostgreSQL 配置 Microsoft Fabric 镜像数据库

Fabric 中的镜像功能(现已正式发布)是一种企业级、云端的零 ETL、SaaS 技术。 本部分介绍如何创建镜像的 Azure Database for PostgreSQL 灵活服务器,该服务器在 OneLake 中创建 PostgreSQL 数据的只读连续复制副本。

重要

Ignite 2025 之后新创建的 Azure Database for PostgreSQL 灵活服务器自动包含镜像组件的最新正式发布版本。 现有服务器作为下一个维护周期的一部分逐步升级,而无需手动干预。 无需禁用并重新启用镜像即可接收更新。

先决条件

准备 Azure Database for PostgreSQL

Azure Database for PostgreSQL 灵活服务器中的镜像基于逻辑复制,需要在连接到数据之前配置一些特定的先决条件。

重要

为了指导用户启用这些先决条件,我们在 Azure 门户中创建了一个特定的 Fabric 镜像页, 可自动执行所有这些作。 有关详细信息,请参阅 PostgreSQL 灵活服务器的 Fabric 镜像概念

  • 必须启用 System-Assigned 托管标识(SAMI)。
  • wal_level 写日志(WAL)的服务器参数必须设置为 逻辑
  • 扩展(azure_cdc)是必需的,必须列入允许列表并预加载(需要重启)。
  • 对于 max_worker_processes 源服务器中的每个镜像数据库,服务器参数必须增加 3。

结构镜像的数据库角色

接下来,需要为 Fabric 服务提供或创建 PostgreSQL 或 Entra ID 角色,以便连接到 Azure Database for PostgreSQL 灵活服务器。

为此,可以使用下列选项之一指定用于连接到源系统的数据库角色:

使用 Entra ID 角色

  1. 按照这些 说明 将 Entra ID 用户或组映射到 PostgreSQL 数据库角色。

  2. 完成后,可以使用以下 SQL 脚本向新角色授予 azure_cdc_admin 权限。

    -- grant role for replication management to the new user
    GRANT azure_cdc_admin TO <entra_user>;
    -- grant create permission on the database to mirror to the new user
    GRANT CREATE ON DATABASE <database_to_mirror> TO <entra_user>;
    

使用 PostgreSQL 角色

  1. 使用 pgAdmin 连接到 Azure Database for PostgreSQL 灵活服务器。 应与作为角色 azure_pg_admin成员的主体进行连接。

  2. 创建名为 的 fabric_userPostgreSQL 角色。 可以选择此角色的任何名称。 提供自己的强密码。 授予数据库中 Fabric 镜像所需的权限。 运行以下 SQL 脚本,授予名为CREATEDB新角色的 CREATEROLELOGINREPLICATIONazure_cdc_adminfabric_user权限。

    -- create a new user to connect from Fabric
    CREATE ROLE fabric_user CREATEDB CREATEROLE LOGIN REPLICATION PASSWORD '<strong password>';
    
    -- grant role for replication management to the new user
    GRANT azure_cdc_admin TO fabric_user;
    -- grant create permission on the database to mirror to the new user
    GRANT CREATE ON DATABASE <database_to_mirror> TO fabric_user;
    

使用上述两种方法之一创建的数据库用户还需要是这些表的所有者,以便在镜像数据库中进行复制。 这意味着表是由该用户创建的,或者这些表的所有权已使用 ALTER TABLE <table name here> OWNER TO <user>;更改。

重要

缺少前面的安全配置步骤之一将导致 Fabric 门户中的后续镜像作失败并显示一 Internal error 条消息。

创建镜像的 Azure Database for PostgreSQL 灵活服务器

  1. 打开 Fabric 门户
  2. 使用现有的工作区,或创建新的工作区。
  3. 导航到“ 创建 ”窗格,或选择“ 新建项 ”按钮。 选择“创建”图标。
  4. 滚动到“数据仓库”部分,然后选择“镜像的 Azure Database for PostgreSQL”(预览版)。

连接到 Azure Database for PostgreSQL 灵活服务器

以下步骤指导你完成创建与 Azure Database for PostgreSQL 灵活服务器的连接的过程:

  1. “新建源”下,选择“Azure Database for PostgreSQL”(预览版)。 或者,从 OneLake 中心选择现有的 Azure Database for PostgreSQL 灵活服务器连接。
  2. 如果选择了 “新建连接”,请输入 Azure Database for PostgreSQL 灵活服务器的连接详细信息。
    • 服务器:可以通过在 Azure 门户中导航到 Azure Database for PostgreSQL 灵活服务器概述页来查找服务器名称。 例如,<server-name>.postgres.database.azure.com
    • 数据库:输入 Azure Database for PostgreSQL 灵活服务器的名称。
    • 连接:创建新连接。
    • 连接名称:会自动提供名称。 无法更改它。
    • 数据网关:选择可用的 VNET 数据网关 ,将 Azure Database for PostgreSQL 灵活服务器连接到 VNET 集成或专用终结点。
    • 身份验证类型
      • 基本(PostgreSQL 身份验证)
      • 组织帐户 (Entra 认证)
    • 选中“ 使用加密连接 ”复选框, 此连接可与未选中的本地数据网关和 VNET 数据网关一起使用
  3. 选择 连接

启动镜像过程

  1. “配置镜像”屏幕允许你镜像数据库中的所有数据,这是默认选项。
    • 镜像所有数据意味着,镜像启动后创建的任何新表都会被镜像。
    • 也可选择只镜像某些对象。 禁用“镜像所有数据”选项,然后从数据库中选择单独的表。 在本教程中,我们将选择“镜像所有数据”选项。
  2. 选择“镜像数据库”。 镜像开始。
  3. 等待 2-5 分钟。 然后,选择“监视复制”以查看状态。
  4. 几分钟后,状态应变为“正在运行”,这表明正在同步表。 如果未看到表和相应的复制状态,请等待几秒钟,然后刷新面板。
  5. 完成表的初始复制后,“上次刷新”列中会显示一个日期。
  6. 现在,你的数据已启动并运行,整个 Fabric 中具有各种可用的分析场景。

重要

必须在 Microsoft Fabric 的镜像数据库中重新配置在源数据库中建立的任何精细安全性设置。 请参阅 Microsoft Fabric 中的 SQL 精细权限

监视结构镜像

配置镜像后,将定向到“镜像状态”页。 可以在此处监视复制的当前状态。 有关复制状态的详细信息和细节,请参阅监视 Fabric 镜像数据库复制