什么是更改事件流式处理?

适用于: SQL Server 2025 (17.x) 预览版

本文介绍 SQL Server 2025 (17.x) 预览版中引入的更改事件流式处理(CES)功能。

若要开始使用该功能,请参阅 “配置更改事件流式处理”。

注释

更改事件流功能目前为 SQL Server 2025 预览版,并且可能会发生改变。 有关当前可支持性,请参阅 “限制”。

概述

更改事件流式处理(CES)是一项新式数据集成功能,可将 SQL Server 数据更改直接流式传输到 Azure 事件中心 - 事件流式处理服务。 CES 以近乎实时的方式捕获和发布数据的增量更改至 Azure 事件中心目标。 捕获的更改包括更新、插入和删除(DML)。 数据更改的详细信息(例如架构、以前的值和新值)以 CloudEvent 的形式发送到 Azure 事件中心。 CloudEvent 序列化为 JSON(本机格式)或 Avro 二进制格式,然后流式传输到 Azure 事件中心的目标位置。

用例

使用 CES 可以:

  • 在关系数据库的基础上构建事件驱动系统,以最少的开销和简单的数据集成。
  • 跨系统同步数据。 更具体地说,在微服务之间同步数据或使分布式系统保持同步。
  • 在关系数据的基础上实现实时分析。
  • 审核和监控。 跟踪敏感数据的更改或记录特定事件。

使用事件流式处理服务(例如 Azure 事件中心和 SQL Server 更改事件流式处理)的主要优点包括:

  • 可伸缩性:事件流式处理服务旨在处理高吞吐量,并且可以独立于数据库进行缩放。
  • 解耦:数据库和流式处理服务的下游系统实现了松散耦合,从而提高了灵活性并简化了维护。
  • 多使用者支持:Azure 事件中心允许多个使用者处理同一数据流,从而启用来自单个源的不同用例。
  • 实时集成:实现 OLTP 系统和下游系统之间的无缝集成,实现实时数据流。

使用变化事件流处理

若要使用 CES,请创建一个流式处理组,用于定义要跟踪的表以及如何访问流式处理目标。 流式处理组指定终结点、提供身份验证详细信息、定义分区(如果有),并确定要跟踪的表。配置 CES 后,流式处理组中表中的 INSERT、UPDATE 和 DELETE 命令所做的所有数据更改都作为 CloudEvents 流式传输到流式处理目标。

在 CES 的上下文中,对象是正在跟踪的表。 流式处理组定义了跟踪的所有对象(即所有表)。

若要开始使用该功能,请参阅 “配置更改事件流式处理”。 有关常见问题,请参阅 更改事件流式处理常见问题解答

使用来自 Azure 事件中心的事件流来处理更改事件

若要了解如何通过 .NET Core 控制台应用程序使用来自 Azure 事件中心的更改事件,该应用程序使用事件处理器从事件中心接收事件,请查看 快速入门:使用 .NET 发送或接收事件

局限性

若要了解详细信息,请查看 CES 功能的限制