保護訂閱者
「合併代理程式」與「散發代理程式」會連接到「訂閱者」。 這些連線會在 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)>和檢視及修改複寫安全性設定。