在本教程中,你将从 Snowflake 配置 Fabric 镜像数据库。
在此示例中,你将了解如何为一个或多个 Snowflake 数据源配置安全连接,并获取其他有用信息,以帮助你熟悉并掌握 Microsoft Fabric 中的镜像概念。
注释
虽然此示例特定于 Snowflake,但可以找到为其他数据源(如 Azure SQL 数据库或 Azure Cosmos DB)配置镜像的详细步骤。 有关详细信息,请参阅什么是 Fabric 中的镜像?
先决条件
- 创建或使用现有的 Snowflake 仓库。 可以在任何云中连接到任何版本的 Snowflake 实例,包括Microsoft Azure。
- 你需要现有的 Fabric 容量。 如果没有, 请启动 Fabric 试用版。
- 你需要对 Snowflake 数据库拥有用户权限,该数据库包含以下权限。 更多信息,请参阅 Snowflake 文档中的 流式表的访问控制权限 和 流所需的权限。
CREATE STREAMSELECT tableSHOW tablesDESCRIBE tables
- 用户需要至少分配一个角色,该角色允许访问 Snowflake 实例。
- 检查网络要求以访问 Snowflake 数据源。 如果 Snowflake 数据源不可公开访问且位于专用网络中, 请创建虚拟网络数据网关 或 安装本地数据网关 以镜像数据。 Azure 虚拟网络或网关计算机的网络必须通过专用终结点连接到 Snowflake 实例,或者防火墙规则允许。
创建镜像数据库
在本节中,我们将简要介绍如何创建新的镜像数据库,以便与镜像的 Snowflake 数据源配合使用。
可以使用现有工作区(而不是“我的工作区”)或创建新的工作区。
- 从您的工作区,前往创建中心。
- 选择要使用的工作区后,选择“ 创建”。
- 向下滚动并选择 镜像雪花 卡。
- 输入新数据库的名称。
- 选择 创建。
在任意云环境中连接到您的 Snowflake 实例
注释
可能需要更改防火墙云,以允许镜像连接到 Snowflake 实例。
在“新建连接”下选择 Snowflake,或选择现有连接。
如果选择“新建连接”,请输入 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)。 大小写不匹配会导致连接失败或复制错误,且不会提供明确的错误信息。
从下拉列表中选择数据库。
启动镜像过程
“配置镜像”屏幕允许你镜像数据库中的所有数据,这是默认选项。
- 镜像所有数据意味着,镜像启动后创建的任何新表都会被镜像。 您可以选择同步所有托管表和冰山表,或仅同步所有托管表(跳过任何新的冰山表)。
- 也可选择只镜像某些对象。 禁用“镜像所有数据”选项,然后从数据库中选择单独的表。
注释
如果您选择镜像任意 Iceberg 表,则必须提供指向包含 Iceberg 表数据的底层存储的存储连接。 请记住以下几点:
- 每个镜像数据库的一个存储连接:你选择的所有 Iceberg 表都必须通过同一存储连接访问。 如果 Iceberg 表跨越多个存储帐户,则需要单独的镜像数据库。
- 查找存储位置:若要查找与 Snowflake 中的 Iceberg 表关联的存储,请在 Snowflake 中运行
SYSTEM$GET_ICEBERG_TABLE_INFORMATION系统功能。 - 混合表类型:您可以选择镜像所有托管表和 Iceberg 表,或者仅镜像所有托管表(跳过任何新增的 Iceberg 表)。 使用 镜像所有数据 切换来控制此行为。
在本教程中,我们将选择“镜像所有数据”选项。
选择 连接。 如果选择镜像任何 Iceberg 表,请输入包含 Iceberg 表的存储的连接信息。
为镜像数据库命名,然后选择“ 创建镜像数据库”。 镜像已开始。
等待 2-5 分钟。 然后,选择“监视复制”以查看状态。
几分钟后,状态应变为“正在运行”,这表明正在同步表。
如果未看到表和相应的复制状态,请等待几秒钟,然后刷新面板。
完成表的初始复制后,“上次刷新”列中会显示一个日期。
现在,您的数据已就绪,整个 Fabric 中提供了各种分析场景可供使用。
重要
在源数据库中设置的任何细粒度安全设置,都必须在 Microsoft Fabric 的镜像数据库中重新配置。
监视结构镜像
配置镜像后,将定向到“镜像状态”页。 可以在此处监视复制的当前状态。
有关复制状态的详细信息,请参阅 监控 Fabric 镜像数据库复制。
重要
如果源表中没有更新,复制器引擎将开始恢复,持续时间呈指数级增加,最长为一小时。 复制器引擎将在检测到更新的数据后自动恢复常规轮询。