应用程序可以使用 Replication 对象重新初始化现有的 Microsoft SQL Server 订阅,以便从发布服务器下载新的快照数据。当 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 订阅中包含由发布服务器进行定期更新的只读数据时,此方法尤其有用。
调用 ReinitializeSubscription 方法
应用程序通过创建 Replication 对象,设置相应的 Replication 对象属性,然后调用 ReInitializeSubscription 方法(复制)方法来重新初始化订阅。
![]() |
---|
在 Microsoft Visual C++ for Devices 中,应用程序必须在 Replication 对象的单个实例中连续调用 ReinitializeSubscription、Initialize 方法(复制)、Run 方法(复制)和 Terminate 方法(复制)。这一点至关重要,因为当应用程序调用 ReinitializeSubscription 时,现有的副本仅标记为用于重新初始化。只有在应用程序调用 Initialize、Run 和 Terminate 后,现有的副本才会删除,同时将此发布的新副本从发布服务器下载到设备上。使用托管代码时,将只使用 ReinitializeSubscription 方法。 |
本主题中的示例说明如何重新初始化订阅。
多个订阅和 ReinitializeSubscription 方法
由于 SQL Server Compact Edition 支持对具有多个发布的单个数据库进行同步,因此在使用 ReinitializeSubscription 方法重新初始化订阅时必须考虑多个订阅的影响。
- 如果数据库中仅包含一个订阅,ReinitializeSubscription 方法就会将此订阅标记为在下次同步时重新初始化。
- 如果数据库中包含多个订阅,则必须设置 Publisher、Publication 和 PublisherDatabase 属性以指示要重新初始化的订阅。
![]() |
---|
每次自动重新同步时,都会将其视为 SQL Server 的一次独立同步。因此,SQL Server 复制监视器将为每个订阅提供独立的同步。在 SQL Server Compact Edition 订阅服务器上,将对 SqlCeReplication 类的 PublisherChanges、SubscriberChanges、PublisherConflicts 和 SubscriberConflicts 属性的值进行累加,由最后一次同步的返回值提供所有同步的总和。 |
请参阅
任务
如何重新初始化 SQL Server Compact Edition 订阅(以编程方式)
概念
其他资源
Replication 对象的方法
Replication 对象属性