標籤:建立 過程 通訊 方式 window driver src 代理 log
SQLServer 中發布與訂閱
在對資料庫做遷移的時候,會有很多方法,用預存程序,job,也可以用開源工具lettle,那麼今天這些天變接觸到了一種新的方法,就是SqlServer中內建的發布與訂閱。
首先說明一下資料複製的流程。如A是(192.168.210.170)上的資料庫,B是(172.23.100.109)上的資料庫。把B當作資料來源,然後A從B上擷取資料。
發布前準備:首先兩個伺服器之間要能相互連訊,也就是能ping命令能通。
平時我們連結資料庫的時候,經常都是用的ip登陸,但是發布的時候不能這樣,必須用伺服器名稱,不然會報錯,如。
解決辦法有兩種:
第一種方法(遠程):①分別查詢出資料庫伺服器的名稱,查詢語句“select @@SERVERNAME”。
②AB兩個伺服器分別遠端桌面登陸上。
③用伺服器上的Management studio去串連原生資料庫(注意:不能用ip去連結,用第一步查出來的名稱串連)。
④之後按下面步驟進行發布訂閱。
第二種方法(本地):①分別查詢出資料庫伺服器的名稱,查詢語句“select @@SERVERNAME”。
②用我本地的電腦C,找到C:\Windows\System32\drivers\etc這個路徑,將在hosts檔案中將A的ip地址和第一步查詢 出來的伺服器名稱添加進去,B也是。這也就是映射。
③開啟本地的Management studio,去串連AB兩個資料庫(這裡也應該用查詢服務器名稱)。
④之後按下面步驟進行發布訂閱。
這裡本實驗選擇的是第二種方式,接下來就正式開始了。
1.發布
①在資料庫B伺服器下找到【複製】-【本地發布】-【建立發布】。
②選擇要發布的資料庫
③選擇發布類型,這裡選擇快照發布。
④選擇發布的內容,即要發布哪些資料。
⑤進行資料篩選,可以在這一步就行條件過濾,當然也可以不設定條件,選取所有資料。
⑥設定快照代理並更改同步頻率
⑦安全性設定,即配置登陸類型,登陸賬戶密碼。
⑧給發布名稱起一個名字,我起了個LS(李四)
最終,到這一步,發布算是完成了,接下來就開始看訂閱。
2.訂閱
訂閱是對剛才發布的快照進行同步,即將資料來源資料同步到目標資料庫。
①在伺服器A上,【複製】-【本機訂閱】-【建立訂閱】
②選擇訂閱發布
③選擇分發代理的位置,選擇一個簡單的發送訂閱。
④設定訂閱伺服器的目標資料庫
⑤設定代理安全性,即訂閱伺服器的賬戶密碼。
⑥設定同步計劃,這裡選擇連續運行。
⑦點擊完成,訂閱配置完成。
⑧查看監視。在【本地發布】-【啟動複製監視器】,點開就能查看快照的運行狀態,和其他詳細資料。
至此,發布與訂閱都已完成。在伺服器A中One這個資料庫中,會發現多了一張aaa的資料表,這表示B伺服器的資料傳到A上了。當在伺服器B修改aaa表中的記錄(來源資料)時,A裡面的記錄(目標資料)也會改變。
總結:搞了幾天這個資料發布與訂閱,但是感覺這個並不是很好用,靈活性上不好,感覺都不如kettle這種開源軟體用著方便。
發布與訂閱SQLServer