将 Azure SQL 托管实例 CDC 源添加到事件流

本文介绍如何将 Azure SQL 托管实例变更数据捕获 (CDC) 源添加到事件流。

通过用于 Microsoft Fabric 事件流的 Azure SQL 托管实例 CDC 源连接器,你可以捕获 SQL 托管实例数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。 在事件流中捕获更改后,可以实时处理此 CDC 数据,并将其发送到 Fabric 内的不同目标,以进一步处理或分析。

注意

工作区容量的以下区域不支持此源:美国西部 3瑞士西部

先决条件

  • 使用参与者或更高权限在 Fabric 容量许可证模式(或)试用许可证模式下访问工作区。
  • 一个正在运行的 Azure SQL 托管实例数据库。
  • Azure SQL 托管实例必须启用公共终结点,并且不能在虚拟网络中启用防火墙或保护。
  • 通过运行存储过程 sys.sp_cdc_enable_db 在 Azure SQL 托管实例中启用 CDC。 有关详细信息,请参阅启用和禁用变更数据捕获

注意

一个事件流的源和目标的最大数量为 11

在 Azure SQL 托管实例中启用公共终结点

转到 Azure 门户,打开 Azure SQL 托管实例,选择“网络”并启用公共终结点

显示“网络”页的屏幕截图,其中“公共终结点”选项处于启用状态。

在 Azure SQL 托管实例中启用 CDC

  1. 为数据库启用 CDC。

    EXEC sys.sp_cdc_enable_db; 
    
  2. 使用访问控制角色选项为表启用 CDC。 在此示例中,MyTable 是 SQL 表的名称。

    EXEC sys.sp_cdc_enable_table 
       @source_schema = N'dbo', 
       @source_name   = N'MyTable', 
       @role_name     = NULL 
    GO 
    

    查询成功执行后,就在 Azure SQL 托管实例中启用了 CDC。

    显示 CDC 已启用的屏幕截图。

将 Azure SQL 托管实例 CDC 添加为源

  1. 在“Fabric 实时智能”中,选择“Eventstream” 以创建新的事件流。

    创建新事件流的屏幕截图。

  2. 在下一个屏幕上,选择“添加外部源”

    选择“添加外部源”的屏幕快照。

配置并连接到 Azure SQL 托管实例 CDC

  1. 在“连接”页上,选择“新建连接”。

    显示选择“连接”页上“新建连接”链接的屏幕截图。

  2. 在“连接设置”部分中,为 VM 上的 SQL Server 输入以下值

    • 服务器:从 Azure 门户输入“终结点”,并将主机和端口之间的逗号替换为冒号。 例如,如果“终结点”为 xxxxx.public.xxxxxx.database.windows.net,3342,则应在“服务器”字段中输入 xxxxx.public.xxxxxx.database.windows.net:3342

      显示包含终结点信息的“网络”页的屏幕截图。

    • 数据库:输入要在 Azure SQL 托管实例中连接到的数据库的名称。

      显示“连接”页的“连接设置”部分的屏幕截图。

  3. 向下滚动,然后在“连接凭据”部分中,执行以下步骤。

    • 对于“连接名称”,为连接输入名称。

    • 对于“身份验证类型”,选择“基本”

      注意

      目前,Fabric 事件流仅支持“基本”身份验证。

    • 为 VM 上的 SQL Server 输入“用户名”和“密码”

  4. 在页面底部,选择“连接”。

  5. 现在,在 “连接 ”页上,选择“ 所有表 ”或 “输入表名称”。 如果选择后者,请使用以逗号分隔的完整表标识符列表(schemaName.tableName)或有效的正则表达式指定表。 例如:

    • 使用 dbo.test.* 选择名称以 dbo.test 开头的所有表。
    • dbo\.(test1|test2) 选择 dbo.test1dbo.test2

    可以使用逗号混合这两种格式。 最多可以输入 100 个表,如果直接使用完整表标识符,则每个表名(包括架构名称)限制为 128 个字符。

  6. 可以展开 “高级设置 ”以配置 十进制处理模式,该模式指定连接器如何处理 DECIMALNUMERIC 列值:

    • Precise:表示使用精确小数类型(例如 Java BigDecimal)的值,以确保数据表示形式的完全精度和准确性。
    • Double:将值转换为双精度浮点数。 这可以提高可用性和性能,但可能会导致精度损失。
    • String:将值编码为格式化字符串。 这使得它们在下游系统中易于使用,但会丢失有关原始数值类型的语义信息。
  7. 选择下一步

    显示选择了“所有表”选项的屏幕截图。

  8. 在“查看 + 连接”页上,查看摘要,然后选择“连接”

    显示选择了“添加”按钮的屏幕截图。

查看更新的事件流

可以在编辑模式下看到添加到事件流中的 Azure SQL MI DB (CDC) 源

在编辑模式下添加的 Azure SQL MI DB CDC 源的屏幕截图,其中突出显示了“发布”按钮。

若要实现新添加的 Azure SQL 托管实例源,请选择“发布”。 完成这些步骤后,Azure SQL 托管实例源可在实时视图中进行可视化。

在实时视图模式下添加的 Azure SQL MI DB CDC 源的屏幕截图。

其他连接器: