[SQL SERVER][HA]建置交易式複寫(2)-遠端散發者
一般來說建立遠端散發者可以有效降低主要伺服器負擔,
最近我剛好在處理公司Replaction相關問題,第一步我就是先把本機散發改為遠端散發者,
並設定相關代理參數,這篇自己記錄備忘一下。
1.設定遠端散發者
本身為散發者。
設定unc路徑(兩台主機皆可存取該資料夾,權限須注意,應該以散發者為主)。
設定主要發行者和連結密碼(這裡主要發行者為rico-pc)。
設定合適散發資料庫大小
USE [master]
GO
ALTER DATABASE [distribution] MODIFY FILE ( NAME = N'distribution', SIZE = 1024000KB , FILEGROWTH = 512000KB )
GO
ALTER DATABASE [distribution] MODIFY FILE ( NAME = N'distribution_log', SIZE = 307200KB , FILEGROWTH = 204800KB )
GO
避免散發資料庫自動成長影響效能(依各自資料庫環境設定)。
當然這裡也可以切多個data file。
2.建立發行集
選擇遠端散發者。
輸入管理密碼。
這裡將使用交易式。
設定快照Agen(要使用遠端散發者相關帳號)t。
真實環境因為訂閱者不只一台,而且要同步整個DB,
所以我會拆多個發行集(分散發行項),這可以讓每個發行集初始化快一點(不需要包含過多發行項)。
3.設定訂閱者
選擇題取訂閱(確定該登入)。
相關考量可以參考訂閱發行集
設定散發Agent。
建立了兩個訂閱。
到這裡我們已經完成相關複寫建置,後面來設定相關代理參數
修改散發代理程式參數
先確認profile id 和agent_type
sp_change_agent_parameter @profile_id=4 , @parameter_name= 'CommitBatchSize',
@parameter_value= '500'
go
sp_change_agent_parameter @profile_id=4 , @parameter_name= 'PollingInterval',
@parameter_value= '30'
go
sp_change_agent_parameter @profile_id=4 , @parameter_name= 'QueryTimeOut',
@parameter_value= '180'
go
查看參數是否修改
點選代理設定檔。
查看散發設定檔相關參數。
修改紀錄讀取代理程式參數
sp_change_agent_parameter @profile_id=2, @parameter_name= 'ReadBatchSize',
@parameter_value= '800'
go
sp_change_agent_parameter @profile_id=2 , @parameter_name= 'PollingInterval',
@parameter_value= '30'
go
sp_change_agent_parameter @profile_id=2 , @parameter_name= 'QueryTimeOut',
@parameter_value= '300'
go
開啟複寫監視器確認
1.初始化
當你建立訂閱時,這是必需的處理,如果發行集包含過多發行項,
且資料龐大,那麼就會拉長初始化過程,所以我個人會拆多個發行集。
2.資料同步確認
發行者新增資料。
訂閱者端確認。
複寫監視器狀況
參考