合併代理程式與發佈代理程式會連線至訂閱者。 這些連線會在 SQL Server 登入或 Windows 登入的內容下進行。 為遵循授與所需最小權限的原則,並同時保護所有密碼的儲存,有必要為這些代理程式提供適當的登入。 如需有關各代理程式需要的權限資訊,請參閱< Replication Agent Security Model>。
注意
Azure SQL 受控執行個體可以是快照式與異動複寫的發行者、散發者與訂閱者。 Azure SQL Database 中的資料庫只能作為快照式複寫與交易式複寫的推送訂閱者。 如需詳細資訊,請參閱使用 Azure SQL Database 和 Azure SQL 受控執行個體的異動複寫。
發佈代理程式
每個訂閱都有一個「散發代理程式」(獨立代理程式,在「新增發行集精靈」中所建發行集的預設值),或者每個發行集資料庫和訂閱資料庫組都有一個「散發代理程式」(共用代理程式)。 T
若要指定發送訂閱的連接資訊,請參閱建立發送訂閱。
若要指定提取訂閱的連接資訊,請參閱建立提取訂閱。
合併代理程式
每個合併訂閱都有其「合併代理程式」,以連接「發行者」和「訂閱者」,並更新這兩者。
若要指定發送訂閱的連接資訊,請參閱建立發送訂閱。
若要指定提取訂閱的連接資訊,請參閱建立提取訂閱。
立即更新訂閱
設定立即更新訂閱時,您必須指定訂閱者端的一個帳戶,以該帳戶建立與發行者的連線。 這些連線供在訂閱者端執行的觸發程序使用,以將變更傳送到發行者。 此連接類型有三個選項可用:
複寫建立的連結伺服器;用您在設定時指定的認證來建立連接。
由複寫所建立的連結伺服器;連線是使用在訂閱者端進行變更的使用者認證所建立。
您已定義的連結伺服器或遠端伺服器。
重要
若要指定連接資訊,請使用 sp_link_publication (Transact-SQL) 預存程序。 您也可以使用「新增訂閱精靈」中的 可更新訂閱的登入 頁面,該頁面會呼叫 sp_link_publication。 在某些情況下,如果「訂閱者」執行 SQL Server 2005 (9.x) Service Pack 1 (SP1) 或更新版本,且「發行者」執行較舊的版本,此預存程序可能會失敗。 如果在此情況下預存程序失敗,請將「發行者」升級為 SQL Server 2005 (9.x) SP1 或更新版本。
如需詳細資訊,請參閱建立交易式發行集的可更新訂閱和檢視及修改複寫安全性設定。
重要
為此連線指定的帳戶,僅應獲授權在複寫於發行資料庫中建立的檢視上插入、更新及刪除資料;不應授與任何其他權限。 對於發行集資料庫中以 syncobj_<十六進位數字> 格式命名的檢視,您在每一個訂閱者端設定的帳戶都應該被授與這些檢視的權限。
已排入佇列的訂閱更新項目
設定佇列更新訂閱時,請注意與安全性相關的兩方面:
每個散發者只能有一個「佇列讀取器代理程式」。 建議您對於每個散發者,最多只設定一個啟用佇列更新訂閱功能的發行集。
「佇列讀取器代理程式」可連接到「散發者」、「發行者」及各個「訂閱者」。
代理程式執行和連接到「散發者」時所用的帳戶,會在您建立代理程式時指定 (如果使用「新增訂閱精靈」,則會在建立為更新訂閱啟用的發行集時建立代理程式)。
代理程式用來連線到發行者的帳戶,會在您為發行者設定發佈時指定。 指定代理程式執行時所用的 Windows 帳戶或 SQL Server 帳戶。
代理程式連接到「訂閱者」時所用的帳戶,會在您建立訂閱時指定。
重要
使用「SQL Server 驗證」以連線到「訂閱者」,然後為每個「訂閱者」的連接指定不同帳戶。 如果使用提取訂閱,複寫會永遠將連接設定為使用「Windows 驗證」(對於提取訂閱來說,複寫無法存取使用「SQL Server 驗證」所需的「訂閱者」端中繼資料)。 在此情況下,請在設定訂閱後,將連接變更為使用「SQL Server 驗證」。
如需詳細資訊,請參閱<如何:建立交易式發行集的可更新訂閱 (SQL Server Management Studio)>和檢視及修改複寫安全性設定。