使用行级和列级跟踪
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”。
注意: |
---|
如果在发布具有活动订阅后更改这些属性,那么当前的快照将变为过期,并且将现有订阅标记为重新初始化。 |