訂閱是指要求取得發行集中資料和資料庫物件複本的要求。 訂閱定義了您收到哪種出版物,以及您何時何地收到。 規劃訂閱時,請考量您希望代理程式處理在何處進行。 您選擇的訂閱類型會控制代理程式執行的位置。 若為推送訂閱,「合併代理程式」或「散發代理程式」會在「散發者」端執行;若為提取訂閱,代理程式則會在「訂閱者」端執行。 建立訂閱後,你無法從一種類型切換到另一種。
注意
Azure SQL 受控執行個體可以是快照式與異動複寫的發行者、散發者與訂閱者。 Azure SQL Database 中的資料庫只能作為快照式和交易式複寫的推送訂閱者。 如需詳細資訊,請參閱使用 Azure SQL Database 和 Azure SQL 受控執行個體的異動複寫。
| 訂用帳戶 | 特性 | 使用時機 |
|---|---|---|
| 推播訂閱 | 在推送訂閱中,發行者會在無需訂閱者提出要求的情況下,將變更傳送給訂閱者。 變更可以依需求、持續地或依排程推送給訂閱者。 「散發代理程式」或「合併代理程式」會在「散發者」端執行。 | 通常是連續或根據定期排程進行資料同步。 發佈需要近乎即時的資料移動。 Distributor 上較高的處理器額外負荷不會影響效能。 最常與快照複寫和交易式複寫一起使用。 |
| 提取訂閱 | 在提取式訂閱中,訂閱者會要求取得發行者所做的變更。 提取式訂閱可讓訂閱者端的使用者決定何時同步資料變更。 散發代理程式或合併代理程式會在訂閱者端執行。 | 資料通常是在需要時或根據排程進行同步處理,而不是持續進行。 發行集擁有大量「訂閱者」,和/或在「散發者」端執行所有代理程式會耗用過多資源。 訂閱者是自主的、離線的,以及/或可移動的。 「訂閱者」將決定其連接及同步變更的時機。 最常搭配合併複寫使用。 |
合併複製訂閱類型
所有複寫類型都允許發送和提取訂閱。 合併複寫使用另外兩個術語來區分訂閱:用戶端訂閱和伺服器訂閱。 用戶端和伺服器訂閱類型都可搭配推送與提取訂閱使用。 用戶端訂閱適用於大部分訂閱者,而伺服器訂閱通常用於會將資料重新發布給其他訂閱者的訂閱者。 訂閱選擇也會影響衝突解決。
非 SQL Server 訂閱者
Oracle 與 IBM Db2 可使用推送訂閱來訂閱快照發行集與交易式發行集。 如需詳細資訊,請參閱 Non-SQL Server Subscribers。
建立訂閱
要建立訂閱,請提供以下資訊:
出版品名稱。
「訂閱者」和訂閱資料庫的名稱。
散發代理程式或合併代理程式是在散發者端還是訂閱者端執行。
「散發代理程式」或「合併代理程式」是持續執行、依排程執行,還是僅於需要時執行。
快照代理程式是否應為訂閱建立初始快照,以及散發代理程式或合併代理程式是否應在訂閱者端套用該快照。
散發代理程式 或 合併代理程式 所使用的帳號。
對於合併複寫,訂閱的類型可以是伺服器或用戶端。
若要建立推播訂閱
若要檢視或修改發送訂閱屬性
若要刪除推播訂閱
SQL Server Management Studio:刪除發送訂閱
注意
刪除訂閱不會移除訂閱者已發佈的物件。
建立提取訂閱
SQL Server Management Studio:建立提取訂閱
檢視或修改提取訂閱屬性
刪除提取式訂閱