通过


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

Fabric 中的镜像是一种基于云的企业级零 ETL SaaS 技术。 本部分介绍如何创建镜像 Azure SQL Database,从而在 OneLake 中创建一个只读的、连续复制的 Azure SQL Database 数据副本。

先决条件

启用托管标识

若要将数据发布到 Fabric OneLake,需要启用系统分配的托管标识(SAMI)或用户分配的托管标识(UAMI),并且必须是Azure SQL逻辑服务器上的主标识。

注释

对用户分配的托管标识(UAMI)的支持目前处于预览阶段。

为Azure SQL逻辑服务器启用系统分配的托管标识(SAMI)

  1. 若要配置或验证 SAMI 是否已启用,请前往 Azure 门户中的逻辑 SQL 服务器。 在“资源”菜单中的“安全性”下,选择“标识”
  2. “系统分配的托管标识”下,将“状态”设置为“开启”
  3. SAMI 必须是主要身份标识。 使用以下 T-SQL 查询验证 SAMI 是否为主要标识:SELECT * FROM sys.dm_server_managed_identities;

启用Azure SQL逻辑服务器的用户分配托管标识(UAMI)(预览版)

使用 UAMI 启用镜像:

如果尚未启用镜像,并且想要使用 UAMI:

  1. 创建新的 UAMI(如果它尚不存在)。
  2. 若要配置 UAMI,请在 Azure 门户中转到逻辑 SQL Server。 在“资源”菜单中的“安全性”下,选择“标识”
  3. 在 Azure 门户中将 UAMI 添加为主标识(运行 SELECT * FROM sys.dm_server_managed_identities WHERE is_primary = 1 时,identity_type 应为“用户分配”)。

如果您想将已经启用了 SAMI 镜像的数据库切换到 UAMI:

  1. 创建新的 UAMI(如果它尚不存在)。
  2. 若要配置 UAMI,请在 Azure 门户中转到逻辑 SQL Server。 在“资源”菜单中的“安全性”下,选择“标识”
  3. 请按以下步骤访问 Fabric 门户中的镜像数据库项,并授予主 UAMI 写入权限:
    • 转到镜像数据库项,选择三个点“...”然后选择“ 管理权限”。
    • 启用 UAMI 后,不要 在至少 15 分钟内放弃旧的主托管标识权限。
    • 选择 “添加用户 ”并使用 UAMI 名称进行搜索。 确保 AppID 匹配 client_id 中的 sys.dm_server_managed_identities
    • 授予 UAMI 对镜像数据库项目的读取和写入权限。
  4. 在 Azure 门户中添加 UAMI 作为主要标识(identity_type 应在运行 SELECT * FROM sys.dm_server_managed_identities WHERE is_primary = 1 后显示为“用户分配”)。

Fabric 的数据库主体

接下来,需要创建 Fabric 服务连接到Azure SQL Database的方法。 基本(SQL 身份验证)、组织帐户(Microsoft Entra ID)和服务主体名称(SPN)是连接到Azure SQL Database的受支持身份验证方法。

可以使用登录名和映射的数据库用户来完成此操作。

使用登录用户和映射的数据库用户

注释

Microsoft Entra服务器主体(登录名)目前在Azure SQL Database中处于预览状态。 在使用Microsoft Entra ID身份验证之前,请查看 Microsoft Entra 服务器主体中的限制。 使用Microsoft Entra登录名创建的数据库用户在授予角色和权限时可能会遇到延迟。

  1. 连接到您的 Azure SQL 逻辑服务器,使用 SQL Server Management Studio (SSMS)Visual Studio Code 的 MSSQL 扩展

  2. 连接到 master 数据库。 创建服务器登录名并分配相应的权限。

    Fabric 登录所需的权限包括:

    • 用户数据库中的以下权限:

      • SELECT
      • 更改任何外部镜像
      • 查看数据库性能状态
      • 查看数据库安全状态
    • 创建名为 fabric_login 的 SQL 身份验证登录名。 可以为此登录名选择任何名称。 提供自己的强密码。 在 master 数据库中运行以下 T-SQL 脚本:

    CREATE LOGIN [fabric_login] WITH PASSWORD = '<strong password>';
    
    • 或者,以 Microsoft Entra 管理员身份登录,然后使用现有帐户创建 Microsoft Entra ID 验证登录名。 在 master 数据库中运行以下 T-SQL 脚本:
    CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER;
    
    • 或者,以 Microsoft Entra 管理员身份登录,并从现有帐户创建使用服务主体名称 (SPN) 进行身份验证的登录。 在 master 数据库中运行以下 T-SQL 脚本:
    CREATE LOGIN [Service Principal Name] FROM EXTERNAL PROVIDER;
    
    • 或者,以Microsoft Entra管理员身份登录,并为 Fabric 工作区标识创建登录名。 在 master 数据库中运行以下 T-SQL 脚本:
    CREATE LOGIN [Workspace Identity Name] FROM EXTERNAL PROVIDER;
    
  3. 连接到要镜像的用户数据库。 创建连接到登录名的数据库用户,并授予所需的最低权限:

    • 对于经过 SQL 身份验证的登录:
    CREATE USER [fabric_user] FOR LOGIN [fabric_login];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [fabric_user];
    
    • 或者,对于经过身份验证的 Microsoft Entra 登录:
    CREATE USER [bob@contoso.com] FOR LOGIN [bob@contoso.com];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [bob@contoso.com];
    
    • 或者,对于服务主体名称 (SPN) 的登录:
    CREATE USER [Service Principal Name] FOR LOGIN [Service Principal Name];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [Service Principal Name];
    
    CREATE USER [Workspace Identity Name] FOR LOGIN [workspace identity Name];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [Workspace Identity Name];
    

创建镜像化的 Azure SQL 数据库

  1. 打开 Fabric 门户
  2. 使用现有的工作区,或创建新的工作区。
  3. 导航到“创建”窗格。 选择“创建”图标。
  4. 滚动到 Data Warehouse 部分,然后选择 Mirrored Azure SQL Database。 输入要镜像的Azure SQL Database的名称,然后选择 Create

连接到您的 Azure SQL 数据库

若要启用镜像,需要从 Fabric 连接到Azure SQL逻辑服务器,以启动 SQL 数据库和 Fabric 之间的连接。 以下步骤将指导你完成创建与Azure SQL Database的连接的过程:

  1. 在“新源下,选择Azure SQL Database。 或者,从 OneLake 中心选择现有的Azure SQL Database连接。
  2. 如果选择了 New connection,请输入Azure SQL Database的连接详细信息。
    • Server:可以通过导航到 Azure 门户中的 Azure SQL Database Overview 页找到 Server name。 例如,server-name.database.windows.net
    • Database:输入Azure SQL Database的名称。
    • 连接:创建新连接。
    • 连接名称:会自动提供名称。 你可以更改它。
    • 数据网关: 选择默认(无)或根据方案设置的虚拟网络数据网关/本地数据网关的名称。
    • 身份验证类型:选择之前为 登录名和映射的数据库用户创建的登录类型。
      • 基本(SQL 身份验证):指定用户名和密码。
      • 组织帐户(Microsoft Entra ID)
      • 服务主体:指定服务主体的租户 ID、客户端 ID 和客户端密码。
      • 工作区标识
  3. 选择 连接

启动镜像过程

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

    • 镜像所有数据意味着,镜像启动后创建的任何新表都会被镜像。

    • 也可选择只镜像某些对象。 禁用“镜像所有数据”选项,然后从数据库中选择单独的表。

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

  2. 选择“镜像数据库”。 镜像开始。

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

  4. 几分钟后,状态应变为“正在运行”,这表明正在同步表。 如果未看到表和相应的复制状态,请等待几秒钟,然后刷新面板。

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

  6. 现在,您的数据已准备就绪,整个 Fabric 平台提供了各种可用的分析场景。

重要

源数据库中建立的任何精细安全性必须在Microsoft Fabric的镜像数据库中重新配置。

监视结构镜像

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

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