使用行级和列级跟踪

Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 支持行级和列级跟踪。可以使用发布向导或存储过程为每个项目设置跟踪类型。

了解行级和列级跟踪

行级和列级跟踪确定数据如何传输以及在同步过程中如何检测冲突。

列级跟踪可以减小在同步过程中必须发送到发布服务器的信息量,而行级跟踪要求较小的跟踪开销,因为它要求更多的存储来跟踪更改。

重要事项:
当与 SQL Server 2000 发布服务器进行同步时,即使只有一列发生更改,也会将整行发送到发布服务器。

列级跟踪还可以减少不同用户更改相同数据时的冲突数量。例如,假设一个更改是针对发布服务器某行的地址列的,而另一个更改是针对相同表的相应订阅服务器行的电话号码列的。利用行级跟踪,会检测到冲突,因为更改是针对两行分别进行的。利用列级跟踪,不会检测到冲突,因为更改是针对两行中的不同列进行的。

注意:
在数据同步发生之前,总会首先处理架构更改。 有关跟踪和合并复制的详细信息,请参阅 SQL Server 联机丛书中的“Merge Replication Conflict Detection and Resolution”。

使用发布向导启用跟踪

当使用发布向导创建发布时,添加项目时会启用跟踪。会同时配置行级和列级跟踪。

注意:
列级跟踪是所有项目的默认跟踪,除非另外指定。

使用 sp_addmergearticle 或 sp_changemergearticle 启用跟踪

sp_addmergearticle 存储过程允许您在将项目添加到发布时指定跟踪类型。对于列级跟踪,请将 sp_addmergearticle 存储过程的 @column\_tracking 参数设置为“True”,对于行级跟踪则设置为“False”。

如果要更改发布中的现有不活动合并项目的属性,请将 sp_changemergearticle 存储过程的 @property 参数设置为“column_tracking”,然后对于列级跟踪,将 @value 参数设置为“True”,对于行级跟踪则设置为“False”。

注意:
如果在发布具有活动订阅后更改这些属性,那么当前的快照将变为过期,并且将现有订阅标记为重新初始化。

请参阅

概念

将项目添加到发布
将筛选器添加到项目

帮助和信息

获取 SQL Server Compact Edition 帮助