重新初始化訂閱 (SQL Server Compact)
應用程式會使用 Replication 物件來重新初始化現有的 MicrosoftSQL Server 訂閱,以便從發行者端下載新的快照集資料。當 MicrosoftSQL Server Compact 3.5 訂閱包含發行者端定期更新的唯讀資料時,此功能特別有用。
呼叫 ReinitializeSubscription 方法
藉由建立 Replication 物件、設定適當的 Replication 物件屬性,然後呼叫 ReInitializeSubscription 方法 (複寫) 方法,應用程式會重新初始化訂閱。
注意
在 Microsoft Visual C++ for Devices 中,應用程式必須對 Replication 物件的單一執行個體,連續呼叫 ReinitializeSubscription、Initialize 方法 (複寫)、Run 方法 (複寫) 及 Terminate 方法 (複寫)。這是非常重要的,因為當應用程式呼叫 ReinitializeSubscription 時,只會標示現有的複寫以進行重新初始化。只有在應用程式呼叫 Initialize、Run 及 Terminate 後,現有的複寫才會刪除,新的發行集複寫會從發行者下載到裝置。當使用 Managed 程式碼時,只會使用 ReinitializeSubscription 方法。
此主題的範例顯示如何重新初始化訂閱。
多重訂閱和 ReinitializeSubscription 方法
由於 SQL Server Compact 3.5 支援單一資料庫與多重發行集同步處理,因此當您以 ReinitializeSubscription 方法重新初始化訂閱時,必須考量多重訂閱的影響。
如果資料庫只包含一個訂閱,ReinitializeSubscription 方法會將訂閱標示為在下次同步處理期間重新初始化。
如果資料庫包含多重訂閱,您必須設定 Publisher、Publication 及 PublisherDatabase 屬性,以指出哪一個訂閱應該重新初始化。
注意
每次發生自動重新同步處理時,都會被 SQL Server 視為不同的同步處理。因此,「SQL Server 複寫監視器」會有每一個分別的同步處理。在「SQL Server Compact 3.5 訂閱者」上,SqlCeReplication 類別之 PublisherChanges、SubscriberChanges、PublisherConflicts 及 SubscriberConflicts 屬性的值會加總,在最近一次同步傳回時提供同步處理的總數。