更改跟踪

SQL Server 2008 中的更改跟踪使应用程序可以仅获取对用户表所做的更改以及与这些更改有关的信息。将更改跟踪集成到 SQL Server 后,就不必再开发复杂的自定义更改跟踪解决方案了。

对于在端对端复制解决方案不起作用而需要自定义解决方案的情况下同步和复制数据的应用程序,更改跟踪是一个重要的构造块。例如,当需要将数据与不是 SQL Server 数据库的数据存储区或其中的存储架构有很大差异的数据存储区同步时,就是这样的情况。

本节内容

  • 更改跟踪概述
    介绍更改跟踪,提供更改跟踪工作方式的概要说明,并描述更改跟踪如何与其他 SQL Server 数据库引擎功能进行交互。

  • 配置和管理更改跟踪
    提供如何配置更改跟踪以及如何管理更改跟踪数据的概要说明。

  • 使用更改跟踪
    显示如何使用更改跟踪来枚举更改和进行单向及双向同步。

相关函数

函数

说明

CHANGETABLE (Transact-SQL)

用于获取在指定版本之后对某个表所做的所有更改的跟踪信息,或者获取指定行的最新更改跟踪信息。

CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

用于获取在使用 CHANGETABLE 函数获取来自指定表的更改跟踪信息时要用的最低有效版本。

CHANGE_TRACKING_CURRENT_VERSION (Transact-SQL)

获取与上次提交事务关联的版本。您可以在下一次使用 CHANGETABLE 来枚举更改时使用此版本。

CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)

用于解释由 CHANGETABLE(CHANGES …) 函数返回的 SYS_CHANGE_COLUMNS 值。

WITH CHANGE_TRACKING_CONTEXT

用于在应用程序更改数据时指定更改上下文,例如发起方 ID。

相关目录视图

目录视图

说明

sys.change_tracking_databases

用于为 SQL Server 实例中启用了更改跟踪的每个数据库都返回一行。

sys.change_tracking_tables

为当前数据库中已启用更改跟踪的每个表返回一行。