重新發行資料

在重新發行模式中,「發行者」傳送資料到「訂閱者」,「訂閱者」再將資料重新發行給任何數量的「訂閱者」。當「發行者」必須透過緩慢或昂貴的通訊連結傳送資料到「訂閱者」時,這就很有用。如果在該連結的遠端有許多「訂閱者」,可使用發行「訂閱者」來將大量散發負載移位到連結的那一端。

重新發行資料包括以下步驟:

  1. 在「發行者」端建立發行集。

  2. 為要重新發行的「訂閱者」建立發行集的訂閱。

  3. 初始化訂閱。必須先初始化訂閱,然後才能在重新發行「訂閱者」時建立發行集,否則複寫將會失敗。

  4. 在要重新發行的「訂閱者」端的訂閱資料庫中建立發行集。

  5. 在要重新發行的「訂閱者」端為其他「訂閱者」建立發行集的訂閱。

  6. 初始化訂閱。

[!附註]

如果在重新發行的拓撲中使用合併式複寫,則所有重新發行「訂閱者」均必須使用伺服器訂閱。如需訂閱類型的詳細資訊,請參閱<訂閱發行集>。

在下圖中,「發行者」與重新發行者都扮演其各自的本機「散發者」角色。如果都設定為使用遠端「散發者」,每個「散發者」就必須如自己的「發行者」一樣,全部都在緩慢或昂貴通訊連結的同一邊。「發行者」必須透過可靠、高速的通訊連結以連接到遠端「散發者」。

正在重新發行資料

任何伺服器都可以同時扮演「發行者」與「訂閱者」的角色。例如,假設下圖中位於英國倫敦,而且必須散發到美國四個不同城市的資料表發行集:芝加哥、紐約、聖地牙哥和西雅圖。位於紐約的伺服器將被選來訂閱在倫敦產生的發行資料表,因為紐約網站符合這些條件:

  • 到倫敦的網路連結相當可靠。

  • 倫敦到紐約的通訊成本是可以接受的。

  • 從紐約到所有其他美國訂閱者網站有相當好的網路通訊線路。

    正在重新發行資料至分散的位置

複寫支援下表所示的重新發行案例。

發行者

發行訂閱者

訂閱者

交易式發行集

交易式訂閱/交易式發行集

交易式訂閱

交易式發行集

交易式訂閱/合併式發行集1

合併訂閱

合併式發行集

合併訂閱/合併式發行集

合併訂閱

合併式發行集

合併訂閱/交易式發行集

交易式訂閱

1您應該設定合併式發行集的 @published_in_tran_pub 屬性。依預設,交易式複寫預期於訂閱者端的資料表會被視為唯讀資料表。如果合併式複寫變更交易式訂閱中資料表的資料,就可能導致資料無法聚合。若要避免此風險,建議合併式發行集中的任何此類資料表應指定為僅限下載。這會防止合併式訂閱者將資料變更上傳至資料表。如需詳細資訊,請參閱<使用僅限下載的發行項最佳化合併式複寫效能>。