2014年8月26日 星期二

[SQL Server]Snapshot Replication


        很簡單的設定,但久久用一次沒記錄很容易忘記,這邊記錄一下囉!當然前置作業還要設定SQL Server Agent的啟動帳號與權限,還有快照集目錄的設定,我這邊沒提到,至於Transactional replication與Merge replication設定上也差不多,但使用限制跟情境不太一樣,自行參考Types of Replication Overview吧,還有點對點的交易式複寫可參考Cary大師的SQL Server 分散式架構 - 點對點交易式複寫 + NLB
  • 設定散發者

/Replication/Configure Distribution

散發者通常可跟發行者同一台,這邊選第一個在同一台上


設定設定快照集的目錄,此目錄要讓兩邊SQL Agent啟動帳號都能讀取


設定散發資料庫,基本上用預設就好


設定發行者,這邊用預設,因為都同一台


預設即可


讓你檢視一下剛剛的設定


成功


這時去看系統資料庫,可看到散發者DB已建立




  • 設定發行者

 /Publications/New Publications



設定發行集資料庫,這邊我選Northwind


設定發行集類型,我用快照為例


發行項設定,這邊我選Customer資料表當範例


篩選設定,因為不需要所以不用選


Snapshot快照集代理的設定,這邊只是設定Snapshot agent要不要先啟動或是排程啟動而已,這之後再設就好


代理程式安全性設定



快完成了

設定發行集名稱

成功設定完成後,可看到發行集已建立好




  • 設定訂閱者

\publisher\New Subscriptions

選取發行集,因為我是在發行集上設定,就直接用預設,如果是在訂閱者設定,就要去選尋找喔


散發代理程式位置,這邊我用Pull的


設定訂閱者,這邊是選擇要被複寫的資料庫,因為現在是在發行者端,所以要加入訂閱者Slave2008

因為訂閱者端沒有要被複寫的資料庫,我也沒有先備份Master然後還原到Slave,所以我是用New database後,建立的要被複寫的Northwind_rep,資料庫名稱可以不一樣


這時空的Northwind_rep已建好了,接著設定散發代理程式的安全性




同步排程,其實是指Distribution排程,看要不要一直執行或是選定排程時間執行

初始化訂閱,還是指Distribution排程,看要不要立刻執行或是第一次同步時再執行而已



建立訂閱者成功後,去看Agent Job,有兩個Job與剛剛所選的設定有關,一個屬於REPL-Snapsshot,這支其實是在設定完發行者就建好的,另一個屬於REPL-Distribution,就是剛建立訂閱者時設定的那個


這是去Slave2008看並沒有任何資料表建立,因為尚未啟動Snapshot


對Publication右鍵選View Snapshot Agent Status,你看得跟這下面這張圖應該不一樣,應該是尚未啟動的狀態,按下Start才會變成這張圖的樣子喔

已經啟動Snapshot後,再回去Slave2008看,才會有資料表喔


這個啟動Snapshot Job的動作也可以從剛剛的Job那邊去啟動,也可以從Replication Monitor那邊去啟動,如下圖,都是OK的





0 意見:

張貼留言