訂閱發行集
訂閱是指要求一份發行集中的資料和資料庫物件。 訂閱會定義將收到的發行集,以及收到的位置和時間。 規劃訂閱時,請考慮要執行代理程式處理的位置。 您選擇的訂閱類型會控制代理程式執行的位置。 若為發送訂閱,則「合併代理程式」或「散發代理程式」會在「散發者」執行;若為提取訂閱,則代理程式會在「訂閱者」執行。 建立訂閱之後,就不能變更訂閱的類型。
注意
Azure SQL 受控執行個體可以是快照式與異動複寫的發行者、散發者與訂閱者。 Azure SQL Database 中的資料庫只能是快照式與異動複寫的發送訂閱者。 如需詳細資訊,請參閱使用 Azure SQL Database 和 Azure SQL 受控執行個體的異動複寫。
訂用帳戶 | 特性 | 使用時機 |
---|---|---|
發送訂閱 | 在發送訂閱中,「訂閱者」不需發出請求,「發行者」便會將變更傳播給「訂閱者」。 變更可以在需要時發散給「訂閱者」,或是根據排程發散給「訂閱者」。 「散發代理程式」或「合併代理程式」是在「散發者」中執行。 | 通常是連續或根據定期排程進行資料同步。 發行集需要近乎即時移動資料。 即使「散發者」的處理器額外負荷較高,也不會影響效能。 最常搭配快照和異動複寫使用。 |
提取訂閱 | 在提取訂閱中,「訂閱者」必須請求傳送「發行者」中的變更。 提取訂閱允許使用者在「訂閱者」中判斷何時要同步資料變更。 「散發代理程式」或「合併代理程式」是在「訂閱者」中執行。 | 資料通常是在需要時或根據排程進行同步處理,而不是持續進行。 發行集擁有大量「訂閱者」,且 (或) 其需要過多資源,而無法在「散發者」執行所有代理程式。 「訂閱者」是獨立的、中斷的以及/或機動的。 「訂閱者」將決定其連接及同步變更的時機。 最常搭配合併複寫使用。 |
合併複寫訂閱類型
所有複寫類型都允許發送和提取訂閱。 合併複寫會使用另外兩個詞彙來區分訂閱︰客訂閱和主訂閱。 客訂閱和主訂閱類型都可搭配發送和提取訂閱使用。 客訂閱適用大部份的「訂閱者」,而主訂閱通常用於重新發行資料給其他「訂閱者」的「訂閱者」。 訂閱選擇也會影響衝突解決。
非 SQL Server 訂閱者
Oracle 和 IBM Db2 都可使用發送訂閱來訂閱快照和異動出版。 如需詳細資訊,請參閱 Non-SQL Server Subscribers。
建立訂閱
若要建立訂閱,您必須提供下列資訊︰
發行集的名稱。
「訂閱者」和訂閱資料庫的名稱。
在「散發者」或「訂閱者」執行「散發代理程式」或「合併代理程式」。
「散發代理程式」或「合併代理程式」會持續執行、定期執行,或是需要時才執行。
「快照集代理程式」是否應該為訂閱建立初始快照集,以及「散發代理程式」或「合併代理程式」是否應該在「訂閱者」中套用該快照集。
用來執行「散發代理程式」或「合併代理程式」的帳戶。
合併複寫的訂閱類型為︰主或客。
若要建立發送訂閱
若要檢視或修改發送訂閱屬性
若要刪除發送訂閱
SQL Server Management Studio:刪除發送訂閱
注意
刪除訂閱並不會移除「訂閱者」中已發行的物件。
若要建立提取訂閱
SQL Server Management Studio:建立提取訂閱
若要檢視或修改提取訂閱屬性
若要刪除提取訂閱