保護散發者

適用於:SQL ServerAzure SQL 受控執行個體

下列複寫代理程式連接到「散發者」:記錄讀取代理程式、快照集代理程式、佇列讀取器代理程式、散發代理程式及合併代理程式。 為遵循授與所需最小權限的原則,並同時保護所有密碼的儲存,有必要為這些代理程式中的每一個提供適當的登入。

除了正確管理登入與密碼外,還有必要了解 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 登入可能不會強制執行相同的限制,但仍不建議這麼做。

快照集資料夾安全性

確定快照集共用已將讀取權限授與「合併代理程式」(針對合併式複寫) 或「散發代理程式」(針對快照式或異動複寫) 執行時所使用的帳戶,並且已將寫入權限授與「快照集代理程式」執行時所使用的帳戶。 如需快照集資料夾的詳細資訊,請參閱保護快照集資料夾

另請參閱

檢視及修改複寫安全性設定
啟用 Database Engine 的加密連接 (SQL Server 組態管理員)
複寫安全性最佳作法
檢視及修改複寫安全性設定