公司有一台很重要SQL數據庫,如何實現數據庫實時同步?


一、客戶需求

客戶現在有一個需求,公司有一台很重要SQL數據庫,怕有一天服務器或者系統崩潰,導致所有SQL數據庫數據丟失,客戶想把數據庫數據,通過某種方式將數庫進行實時同步到另外一台服務器上,這樣可以做個backup。

那客戶這個需求如何實現呢?

二、解決方案:

通過分析與研究,使用的是SQL自帶的發布與訂閱功能,舊的SQL Server版本是2008,新安裝一個SQL Server 2014版本,通過舊SQL Serer發布,再通過SQL Server2014訂閱,來同步數據庫數據。

三、實現過程

3.1、發布

發布前准備:首先兩個服務器之間要能相互通訊,也就是能ping命令能通。平時我們連接數據庫時,經常都是用的ip登陸,但是發布的時候不能這樣,必須用服務器名稱。

如果在不同網段的兩台數據庫服務器,可以在兩台服務器hosts文件中添加對應的IP地址和主機名。

在舊服務器上,打開SQL Server數據庫軟件,進行發布SQL數據庫。

1、舊服務器上,找到復制--本地發布,右擊新建發布。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

2、選擇需要發布的數據庫名稱。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

3、選擇事務發布。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

4、在此數據庫中,查看表,是否都可以正常的被發布,如下圖所示,有些表無法正常發布,那該怎么辦?

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

5、發現是由於這些表中沒有主鍵,需要給這三張表設置主鍵。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

6、設置主鍵。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

8、發現還有一個表無法發布。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

9、查看原因。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

10、需要將此表中的,阻止保存要求重新創建表的更改項勾選去掉。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

11、去掉后,發現此表可以正常設置主鍵。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

12、可以看到所有的表都可以正常發布了。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

13、下一步。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

14、選擇添加。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

15、選擇立即創建快照並使快照保持可用狀態,以初始化訂閱。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

16、選擇安全設置。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

17、輸入數據庫的sa用戶名和密碼。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

18、選擇下一步。這時要注意,需要將數據庫的代理服務開啟,和SQL browser服務開啟。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

19、創建發布。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

20、新建一個發布名稱。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

21、發布成功。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

22、發布的同時,要保證如下此SQL目錄可讀寫。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

3.2、訂閱

1、要新服務器上,找到SQL Server代理服務器,將其開啟,自動。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

2、找到SQL Browser將其服務開啟。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

3、可以Ping通發布服務器的主機名。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

4、找到復制--本地訂閱。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

5、選擇下一步。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

6、選擇查找SQL Server發布服務器。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

7、選擇發布服務器的名稱,或者手動輸入發布服務器名稱,輸入發布服務器的用戶名sa,發布服務器數據庫sa密碼。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

8、可以查詢到剛才我們發布的數據庫名稱。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

9、選擇在發布服務器 PRD-SQL上運行所有代理。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

10、選擇新建數據庫。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

11、新建一個數據庫,來同步發布服務器中的數據庫。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

12、新建數據庫完成,點擊下一步。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

13、選擇與訂閱服務器的連接。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

14、輸入訂閱服務器數據庫sa用戶名和密碼。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

15、選擇下一步。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

16、選擇連續運行。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

17、選擇立即初始化時間。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

18、選擇創建訂閱。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

19、選擇完成。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

20、訂閱創建成功。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

3.3、測試結果

1、在發布服務器上查看同步狀態。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

2、可以看到正在同步數據庫表。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

3、同步完成后,可以查看數據庫數據有多少條和訂閱服務器進行對比,如果一樣說明成功。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 

4、在訂閱服務器上,可以查看到所有的表都已經同步過來了。而且數據總條目都和發布服務器數據一樣,實時數據備份成功。

當以后,發布服務器此數據庫中有變動,訂閱服務器數據庫也會實時變動。

公司有一台很重要SQL數據庫,如何實現數據庫實時同步?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM