教程:从 Snowflake 配置 Microsoft Fabric 镜像数据库

在本教程中,你将从 Snowflake 配置 Fabric 镜像数据库。

在此示例中,你将了解如何为一个或多个 Snowflake 数据源配置安全连接,并获取其他有用信息,以帮助你熟悉并掌握 Microsoft Fabric 中的镜像概念。

注释

虽然此示例特定于 Snowflake,但可以找到为其他数据源(如 Azure SQL 数据库或 Azure Cosmos DB)配置镜像的详细步骤。 有关详细信息,请参阅什么是 Fabric 中的镜像?

先决条件

  • 创建或使用现有的 Snowflake 仓库。 可以在任何云中连接到任何版本的 Snowflake 实例,包括Microsoft Azure。
  • 你需要现有的 Fabric 容量。 如果没有, 请启动 Fabric 试用版
  • 你需要对 Snowflake 数据库拥有用户权限,该数据库包含以下权限。 更多信息,请参阅 Snowflake 文档中的 流式表的访问控制权限流所需的权限
    • CREATE STREAM
    • SELECT table
    • SHOW tables
    • DESCRIBE tables
  • 用户需要至少分配一个角色,该角色允许访问 Snowflake 实例。
  • 检查网络要求以访问 Snowflake 数据源。 如果 Snowflake 数据源不可公开访问且位于专用网络中, 请创建虚拟网络数据网关安装本地数据网关 以镜像数据。 Azure 虚拟网络或网关计算机的网络必须通过专用终结点连接到 Snowflake 实例,或者防火墙规则允许。

创建镜像数据库

在本节中,我们将简要介绍如何创建新的镜像数据库,以便与镜像的 Snowflake 数据源配合使用。

可以使用现有工作区(而不是“我的工作区”)或创建新的工作区。

  1. 从您的工作区,前往创建中心。
  2. 选择要使用的工作区后,选择“ 创建”。
  3. 向下滚动并选择 镜像雪花 卡。
  4. 输入新数据库的名称。
  5. 选择 创建

在任意云环境中连接到您的 Snowflake 实例

注释

可能需要更改防火墙云,以允许镜像连接到 Snowflake 实例。

  1. 在“新建连接”下选择 Snowflake,或选择现有连接。

  2. 如果选择“新建连接”,请输入 Snowflake 数据库的连接详细信息。

    连接设置 Description
    服务器 可以通过导航到 Snowflake 资源菜单上的帐户来查找服务器名称。 将鼠标悬停在帐户名称上,可以将服务器名称复制到剪贴板。 从服务器名称中删除https://,并全部使用小写字母。
    Warehouse 从 Snowflake 的资源菜单中的 “仓库 ”部分,选择“ 仓库”。 仓库是 Snowflake 仓库(计算),而不是数据库。
    连接 创建新连接。
    连接名称 应自动填写。将其更改为要使用的名称。
    数据网关 根据方案,选择默认(无)或虚拟网络数据网关或本地数据网关的名称。
    身份验证类型 选择 Snowflake 连接的身份验证方法。 支持的选项:Snowflake(用户名和密码)、Microsoft Entra ID(通过 Entra ID 单一登录)或密钥对(服务帐户方案的 RSA 密钥对身份验证)。
    用户名 你创建的用于登录 Snowflake.com 的 Snowflake 用户名。
    密码 您在 Snowflake.com 上创建登录信息时设置的 Snowflake 密码。

    重要

    所有 Snowflake 标识符(包括服务器名称、仓库名称、数据库名称、架构名称、表名称和视图名称)都区分大小写。 在 Fabric 连接设置中输入的大小写必须与 Snowflake 中配置的大小写完全匹配。 例如,如果您的 Snowflake 仓库名称为 ANALYTICS_WH,则必须输入 ANALYTICS_WH(而不是 analytics_wh 或 Analytics_Wh)。 大小写不匹配会导致连接失败或复制错误,且不会提供明确的错误信息。

  3. 从下拉列表中选择数据库。

启动镜像过程

  1. “配置镜像”屏幕允许你镜像数据库中的所有数据,这是默认选项。

    • 镜像所有数据意味着,镜像启动后创建的任何新表都会被镜像。 您可以选择同步所有托管表和冰山表,或仅同步所有托管表(跳过任何新的冰山表)。
    • 也可选择只镜像某些对象。 禁用“镜像所有数据”选项,然后从数据库中选择单独的表。

    注释

    如果您选择镜像任意 Iceberg 表,则必须提供指向包含 Iceberg 表数据的底层存储的存储连接。 请记住以下几点:

    1. 每个镜像数据库的一个存储连接:你选择的所有 Iceberg 表都必须通过同一存储连接访问。 如果 Iceberg 表跨越多个存储帐户,则需要单独的镜像数据库。
    2. 查找存储位置:若要查找与 Snowflake 中的 Iceberg 表关联的存储,请在 Snowflake 中运行 SYSTEM$GET_ICEBERG_TABLE_INFORMATION 系统功能。
    3. 混合表类型:您可以选择镜像所有托管表和 Iceberg 表,或者仅镜像所有托管表(跳过任何新增的 Iceberg 表)。 使用 镜像所有数据 切换来控制此行为。

    在本教程中,我们将选择“镜像所有数据”选项。

  2. 选择 连接。 如果选择镜像任何 Iceberg 表,请输入包含 Iceberg 表的存储的连接信息。

  3. 为镜像数据库命名,然后选择“ 创建镜像数据库”。 镜像已开始。

    Fabric 门户中的屏幕截图,显示 Snowflake 镜像正在运行。“监视镜像”按钮可见。

  4. 等待 2-5 分钟。 然后,选择“监视复制”以查看状态。

  5. 几分钟后,状态应变为“正在运行”,这表明正在同步表。

    如果未看到表和相应的复制状态,请等待几秒钟,然后刷新面板。

  6. 完成表的初始复制后,“上次刷新”列中会显示一个日期。

  7. 现在,您的数据已就绪,整个 Fabric 中提供了各种分析场景可供使用。

重要

在源数据库中设置的任何细粒度安全设置,都必须在 Microsoft Fabric 的镜像数据库中重新配置。

监视结构镜像

配置镜像后,将定向到“镜像状态”页。 可以在此处监视复制的当前状态。

有关复制状态的详细信息,请参阅 监控 Fabric 镜像数据库复制

重要

如果源表中没有更新,复制器引擎将开始恢复,持续时间呈指数级增加,最长为一小时。 复制器引擎将在检测到更新的数据后自动恢复常规轮询。