适用于: SQL Server 2025 (17.x)
Azure SQL 数据库
本文介绍 SQL Server 2025(17.x)和 Azure SQL 数据库中引入的更改事件流式处理(CES)功能。
若要开始使用该功能,请参阅 “配置更改事件流式处理”。
注释
变更事件流目前处于预览版阶段:
- SQL Server 2025(需要预览功能数据库范围的配置)。
- Azure SQL 数据库(不需要预览功能数据库范围配置)。
在预览期间,此功能可能会更改。 有关当前可支持性,请参阅 “限制”。
概述
更改事件流式处理(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 发送或接收事件。
Azure SQL 数据库中的 CES
CES 也适用于 Azure SQL 数据库的所有服务层(包括超大规模),但 SQL Server 和 Azure SQL 数据库之间的以下差异适用:
- 在 Azure SQL 数据库中使用 CES 不需要预览功能数据库范围配置。
- Azure SQL 数据库支持 CES Microsoft Entra 身份验证,而 SQL Server 仅支持密钥值身份验证和共享访问签名(SAS)身份验证。
- Azure SQL 数据库中的 xEvent 调试当前不可用。
局限性
若要了解详细信息,请查看 CES 功能的限制。