将 VM 上的 SQL Server DB (CDC) 源添加到事件流

本文介绍如何将 VM DB 更改数据捕获 (CDC) 源上的 SQL Server 添加到事件流。

Fabric 事件流的 VM DB 上的 SQL Server (CDC) 源连接器可支持捕获VM 上的 SQL Server 数据库中当前数据的快照。 目前,VM DB 上的 SQL Server(CDC)受以下服务支持,可在其中公开访问数据库:

注意

AWS RDS SQL Server、AWS RDS 自定义 SQL Server 和 Google Cloud SQL Server 不支持 Express 版本。 请确保使用适用于 CDC 的相应版本的 SQL Server。

将 VM DB 上的 SQL Server (CDC) 源添加到事件流后,它会监视和记录未来的行级别更改,然后可以实时处理这些更改,并发送到各种目标以进一步分析。

注意

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

先决条件

  • 使用参与者或更高权限在 Fabric 容量许可证模式(或)试用许可证模式下访问工作区。
  • VM 上运行的 SQL Server 数据库。
  • VM 上的 SQL Server 数据库必须配置为允许公共访问。
  • 通过运行存储过程 sys.sp_cdc_enable_db,在 VM 上的 SQL Server 数据库中启用 CDC。 有关详细信息,请参阅启用和禁用变更数据捕获

注意

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

在 VM 上的 SQL Server 数据库中启用 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 
    

    查询成功执行后,就在 VM 上的 SQL Server 数据库中启用了 CDC。

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

将 VM 上的 SQL Server 数据库作为源添加

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

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

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

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

配置并连接到 VM 上的 SQL Server 数据库

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

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

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

    • 服务器:输入 VM 的可公开访问的 IP 地址或域名,然后添加冒号和端口。 例如,如果 IP 地址为 xx.xxx.xxx.xxx,端口为 1433,则应在“服务器”xx.xxx.xxx.xxx:1433字段中输入 。 如果未指定端口,将使用默认端口值 1433

    • 数据库:输入要在 VM 上的 SQL Server 连接到的数据库的名称。

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

  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. 在“查看 + 创建”屏幕上,查看摘要,然后选择“连接”

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

查看更新的事件流

可以在编辑模式下看到添加到事件流中的 VM 上的 SQL Server DB CDC 源

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

若要实现此新添加的 VM 上的 SQL Server DB CDC 源,请选择“发布”。 完成这些步骤后,VM 上的 SQL Server DB CDC 源就可以在“实时视图”下进行可视化展示了

“实时视图”模式下已添加的 VM 上的 SQL Server DB CDC 源的屏幕截图。

其他连接器: