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

2019-10-06     IT小技術

----關注IT小技術,每天get一個IT小技能。

一、客戶需求

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

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

二、解決方案:

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

三、實現過程

3.1、發布

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

如果在不同網段的兩台資料庫伺服器,可以在兩台伺服器hosts文件中添加對應的IP位址和主機名。

在舊伺服器上,打開SQL Server資料庫軟體,進行發布SQL資料庫。

1、舊伺服器上,找到複製--本地發布,右擊新建發布。

2、選擇需要發布的資料庫名稱。

3、選擇事務發布。

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

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

6、設置主鍵。

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

9、查看原因。

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

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

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

13、下一步。

14、選擇添加。

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

16、選擇安全設置。

17、輸入資料庫的sa用戶名和密碼。

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

19、創建發布。

20、新建一個發布名稱。

21、發布成功。

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

3.2、訂閱

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

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

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

4、找到複製--本地訂閱。

5、選擇下一步。

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

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

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

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

10、選擇新建資料庫。

11、新建一個資料庫,來同步發布伺服器中的資料庫。

12、新建資料庫完成,點擊下一步。

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

14、輸入訂閱伺服器資料庫sa用戶名和密碼。

15、選擇下一步。

16、選擇連續運行。

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

18、選擇創建訂閱。

19、選擇完成。

20、訂閱創建成功。

3.3、測試結果

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

2、可以看到正在同步資料庫表。

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

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

當以後,發布伺服器此資料庫中有變動,訂閱伺服器資料庫也會實時變動。

文章來源: https://twgreatdaily.com/zh-cn/oj5joG0BMH2_cNUgSePB.html