保護散發者
適用於:SQL Server Azure SQL 受控執行個體
下列複寫代理程式連接到「散發者」:記錄讀取代理程式、快照集代理程式、佇列讀取器代理程式、散發代理程式及合併代理程式。 為遵循授與所需最小權限的原則,並同時保護所有密碼的儲存,有必要為這些代理程式中的每一個提供適當的登入。
如需管理登入和密碼的資訊,請參閱管理複寫的登入與密碼。
如需各代理程式所需權限的詳細資訊,請參閱< Replication Agent Security Model>。
除了正確管理登入與密碼外,還有必要了解 repl_distributor 遠端伺服器連結的角色與 distributor_admin 帳戶。
設定從發行者到散發者連接的安全性
為了支援管理預存程序在「發行者」端執行並在「散發者」端更新資訊時的必要通訊,複寫會自動設定遠端伺服器 repl_distributor。 不管散發資料庫是包含在「發行者」執行個體 (本機「散發者」) 內還是位於遠端 SQL Server 執行個體 (遠端「散發者」) 內,repl_distributor 遠端伺服器項目都會用於與散發資料庫的通訊。
當散發資料庫包含在本機執行個體上時,系統會自動產生並設定一個隨機密碼。 當散發資料庫位於遠端執行個體時,管理員會在設定「發行者」與「散發者」期間設定一個共用密碼;然後用這個密碼來提供往返於 repl_distributor 連結之傳輸量的驗證。
「散發者」使用 repl_distributor 遠端伺服器項目來確認呼叫伺服器已在「散發者」端設定為「發行者」,驗證「發行者」提供的密碼,並驗證預存程序在執行期間為複寫預存程序。
在設定期間為 repl_distributor 遠端伺服器項目設定的密碼與 SQL Server 登入 (distributor_admin,已新增到「散發者」端的 sysadmin 固定伺服器角色) 相關聯。 連接到「散發者」時, distributor_admin 登入由複寫預存程序使用。
注意
請勿手動變更 distributor_admin 的密碼。 請始終使用 sp_changedistributor_password 預存程序,或使用 SQL Server Management Studio 中的 [散發者屬性] 或 [更新複寫密碼] 對話方塊,因為密碼變更稍後會自動套用到本機發行集。
停用 distributor_admin 登入
如果在遠端散發者端停用 distributor_admin 登入,您就無法再執行下列動作:
- 建立或刪除發行集。
- 變更現有發行集的發行項。
- 請使用發行者上的 SQL Server Management Studio (SSMS) 或複寫監視器來查看代理程式狀態。
- 建立或刪除訂閱。
- 使用複寫監視器或執行 sys.sp_posttracertoken來張貼追蹤 Token。
- 在散發者端設定遠端發行者。
因此,不建議在遠端散發者端停用 distributor_admin 登入。 雖然停用本機散發者端的 distributor_admin 登入可能不會強制執行相同的限制,但仍不建議這麼做。
快照集資料夾安全性
確定快照集共用已將讀取權限授與「合併代理程式」(針對合併式複寫) 或「散發代理程式」(針對快照式或異動複寫) 執行時所使用的帳戶,並且已將寫入權限授與「快照集代理程式」執行時所使用的帳戶。 如需快照集資料夾的詳細資訊,請參閱保護快照集資料夾。