客戶如今有一個需求,公司有一臺很重要SQL數據庫,怕有一天服務器或者系統崩潰,致使全部SQL數據庫數據丟失,客戶想把數據庫數據,經過某種方式將數庫進行實時同步到另一臺服務器上,這樣能夠作個backup。數據庫
那客戶這個需求如何實現呢?安全
經過分析與研究,使用的是SQL自帶的發佈與訂閱功能,舊的SQL Server版本是2008,新安裝一個SQL Server 2014版本,經過舊SQL Serer發佈,再經過SQL Server2014訂閱,來同步數據庫數據。服務器
3.一、發佈測試
發佈前準備:首先兩個服務器之間要能相互通信,也就是能ping命令能通。平時咱們鏈接數據庫時,常常都是用的ip登錄,可是發佈的時候不能這樣,必須用服務器名稱。spa
若是在不一樣網段的兩臺數據庫服務器,能夠在兩臺服務器hosts文件中添加對應的IP地址和主機名。.net
在舊服務器上,打開SQL Server數據庫軟件,進行發佈SQL數據庫。3d
一、舊服務器上,找到複製--本地發佈,右擊新建發佈。代理
二、選擇須要發佈的數據庫名稱。事務
三、選擇事務發佈。ip
四、在此數據庫中,查看錶,是否均可以正常的被髮布,以下圖所示,有些表沒法正常發佈,那該怎麼辦?
五、發現是因爲這些表中沒有主鍵,須要給這三張表設置主鍵。
六、設置主鍵。
八、發現還有一個表沒法發佈。
九、查看緣由。
十、須要將此表中的,阻止保存要求從新建立表的更改項勾選去掉。
十一、去掉後,發現此表能夠正常設置主鍵。
十二、能夠看到全部的表均可以正常發佈了。
1三、下一步。
1四、選擇添加。
1五、選擇當即建立快照並使快照保持可用狀態,以初始化訂閱。
1六、選擇安全設置。
1七、輸入數據庫的sa用戶名和密碼。
1八、選擇下一步。這時要注意,須要將數據庫的代理服務開啓,和SQL browser服務開啓。
1九、建立發佈。
20、新建一個發佈名稱。
2一、發佈成功。
2二、發佈的同時,要保證以下此SQL目錄可讀寫。
3.二、訂閱
一、要新服務器上,找到SQL Server代理服務器,將其開啓,自動。
二、找到SQL Browser將其服務開啓。
三、能夠Ping通發佈服務器的主機名。
四、找到複製--本地訂閱。
五、選擇下一步。
六、選擇查找SQL Server發佈服務器。
七、選擇發佈服務器的名稱,或者手動輸入發佈服務器名稱,輸入發佈服務器的用戶名sa,發佈服務器數據庫sa密碼。
八、能夠查詢到剛纔咱們發佈的數據庫名稱。
九、選擇在發佈服務器 PRD-SQL上運行全部代理。
十、選擇新建數據庫。
十一、新建一個數據庫,來同步發佈服務器中的數據庫。
十二、新建數據庫完成,點擊下一步。
1三、選擇與訂閱服務器的鏈接。
1四、輸入訂閱服務器數據庫sa用戶名和密碼。
1五、選擇下一步。
1六、選擇連續運行。
1七、選擇當即初始化時間。
1八、選擇建立訂閱。
1九、選擇完成。
20、訂閱建立成功。
3.三、測試結果
一、在發佈服務器上查看同步狀態。
二、能夠看到正在同步數據庫表。
三、同步完成後,能夠查看數據庫數據有多少條和訂閱服務器進行對比,若是同樣說明成功。
四、在訂閱服務器上,能夠查看到全部的表都已經同步過來了。並且數據總條目都和發佈服務器數據同樣,實時數據備份成功。
當之後,發佈服務器此數據庫中有變更,訂閱服務器數據庫也會實時變更。