在 Azure SQL Edge 中跟踪数据更改

重要

Azure SQL Edge 将于 2025 年 9 月 30 日停用。 有关详细信息和迁移选项,请参阅停用通知

注意

Azure SQL Edge 不再支持 ARM64 平台。

Azure SQL Edge 支持两个 SQL Server 功能,这些功能可跟踪数据库中的数据更改:更改跟踪变更数据捕获。 这两个功能使应用程序能够确定对数据库中的用户表所做的数据修改语言更改(插入、更新和删除操作)。 可以对同一数据库启用变更数据捕获和更改跟踪。 没有特殊的注意事项。

对于某些注重效能的应用程序来说,查询数据库中已更改的数据的能力是一项很重要的要求。 通常,为了确定数据更改,应用程序开发人员必须在其应用程序中使用触发器、时间戳列和其他表的组合来实现自定义跟踪方法。 创建这些应用程序通常涉及多项工作,导致架构更新,并且通常带来较高的性能开销。

对于需要定期将数据从边缘移动到云或数据中心的 IoT 解决方案,更改跟踪会有所助益。 用户可以快速有效地查询自上次同步以来的更改,并将这些更改上传到云或数据中心目标。 有关详细信息,请参阅使用变更数据捕获或更改跟踪的好处

这两种功能并不相同。 有关详细信息,请参阅变更数据捕获与更改跟踪之间的功能差异

更改数据捕获

要详细了解此功能的工作原理,请参阅关于变更数据捕获

要了解如何启用或禁用此功能,请参阅启用和禁用变更数据捕获

要管理和监视此功能,请参阅管理和监视变更数据捕获

要了解如何查询和处理更改后的数据,请参阅处理变更数据

注意

Azure SQL Edge 不支持依赖于 CLR 的变更数据捕获功能。

Change tracking

要详细了解此功能的工作原理,请参阅关于更改跟踪

要了解如何启用或禁用此功能,请参阅启用和禁用更改跟踪

要管理、监视和管理此功能,请参阅管理和监视更改跟踪

要了解如何查询和处理更改后的数据,请参阅处理变更数据

临时表

Azure SQL Edge 还支持 SQL Server 的临时表功能。 此功能(由系统控制版本的临时表)引入了内置支持,可以提供表中存储的数据在任意时间点的相关信息。 此功能不仅提供当前时刻正确的数据。

版本由系统控制的临时表是用户表的一种类型,旨在保留完整的数据更改历史记录,并实现轻松的时间点分析。 这种类型的临时表之所以称为版本由系统控制的临时表,是因为每一行(即数据库引擎)的有效期由系统管理。

每个临时表有两个显式定义的列,其中每个列都有一个 datetime2 数据类型。 这些列称为期限列。 每当修改了某行后,系统都将以独占方式使用这些期限列来记录每行的有效期。

除了这些期限列以外,临时表还包含对使用镜像架构的另一个表的引用。 每当更新或删除了临时表中的某行后,系统将使用此表来自动存储该行的先前版本。 此附加表称为历史记录表,而存储当前(实际)行版本的主表称为当前表,或直接称为临时表 。 在创建临时表期间,用户可以指定现有的历史记录表(它必须与架构相符),或者让系统创建默认的历史记录表。

有关详细信息,请参阅临时表