如何:針對交易式複寫計算遲延並驗證連接 (RMO 程式設計)

對於交易式複寫而言,可以驗證伺服器的連接並測量延遲是很重要的。您藉由使用追蹤 Token 測量延遲。延遲是「發行者」所做的變更傳播到「訂閱者」前所經過的時間。如需詳細資訊,請參閱<針對交易式複寫測量延遲並驗證連接>。您可以使用「複寫管理物件」(RMO) 以程式設計的方式取得這項資訊。

若要將追蹤 Token 公佈到交易式發行集

  1. 使用 ServerConnection 類別建立與「發行者」的連接。

  2. 建立 TransPublication 類別的執行個體。

  3. 設定發行集的 NameDatabaseName 屬性,並將 ConnectionContext 屬性設定為在步驟 1 中建立的連接。

  4. 呼叫 LoadProperties 方法以取得物件的屬性。如果此方法傳回 false,則表示步驟 3 中的發行集屬性定義不正確,或者該發行集不存在。

  5. 呼叫 PostTracerToken 方法。此方法會將追蹤 Token 插入至發行集的交易記錄。

若要針對交易式複寫判斷延遲並驗證連接

  1. 使用 ServerConnection 類別建立與「散發者」的連接。

  2. 建立 PublicationMonitor 類別的執行個體。

  3. 設定 NameDistributionDBNamePublisherNamePublicationDBName 屬性,並將 ConnectionContext 屬性設定為在步驟 1 中建立的連接。

  4. 呼叫 LoadProperties 方法以取得物件的屬性。如果此方法傳回 false,則表示步驟 3 中的發行集監視器屬性定義不正確,或者該發行集不存在。

  5. 呼叫 EnumTracerTokens 方法。將傳回的 ArrayList 物件轉換為 TracerToken 物件的陣列。

  6. 呼叫 EnumTracerTokenHistory 方法。針對步驟 5 的追蹤 Token 傳遞 TracerTokenID()()()() 的值。這麼做會以 DataSet 物件傳回所選取追蹤 Token 的延遲資訊。如果傳回所有的追蹤 Token,則「發行者」和「散發者」之間的連接以及「散發者」和「訂閱者」之間的連接兩者都存在,且複寫拓樸可以運作。

若要移除追蹤 Token

  1. 使用 ServerConnection 類別建立與「散發者」的連接。

  2. 建立 PublicationMonitor 類別的執行個體。

  3. 設定 NameDistributionDBNamePublisherNamePublicationDBName 屬性,並將 ConnectionContext 屬性設定為在步驟 1 中建立的連接。

  4. 呼叫 LoadProperties 方法以取得物件的屬性。如果此方法傳回 false,則表示步驟 3 中的發行集監視器屬性定義不正確,或者該發行集不存在。

  5. 呼叫 EnumTracerTokens 方法。將傳回的 ArrayList 物件轉換為 TracerToken 物件的陣列。

  6. 呼叫 CleanUpTracerTokenHistory 方法。傳遞其中一個值:

    • 步驟 5 追蹤 Token 的 TracerTokenID()()()()。這麼做會刪除所選取 Token 的資訊。

    • DateTime 物件。這麼做會刪除所有早於指定日期和時間的 Token 資訊。