[鏡像] 多台主要mirroring到同一台副本主機

以往鏡像的範例大多是一對一建立,日前依好友的要求所以寫了這一篇二對一的架構,設定內容都一樣,只是要多設定一台而已,以下簡略寫一下步驟。

下圖是我的架構,我架了三台SQL,其IP是192.168.100.1(簡稱100.1)及192.168.100.2(簡稱100.2)及192.168.100.3(簡稱100.3)。而100.1及100.2都是鏡像主體,然後他們會用100.3來當副本。這一次我們是採用建立憑證的方式來建立鏡像。

 

首先我們先連結100.1的資料庫,在該資料庫上建立憑證HOST_1_certEndpoint並將剛剛建立的憑證備份(如下圖所示)

 

接下來我們連結100.2的資料庫,在該資料庫上建立憑證HOST_2_cert及Endpoint也將剛剛建立的憑證備份(如下圖所示)。

 

接下來我們連結100.3的資料庫,在該資料庫上建立憑證HOST_3_cert及Endpoint也將剛剛建立的憑證備份(如下圖所示)。

 

完成上述步驟後我們檢視一下3台SQL是否都成功建立鏡像要用Endpoint了嗎? 如下圖所示我們已完成Endpoint的建立。

 

接下來我們將剛剛的備份憑證依需求複製到各主機,將100.1及100.2的憑證傳到100.3,將100.3的憑證傳給100.1及100.2(如下圖所示)。

 

接下來到100.1建立100.3的鏡像作業的帳號[HOST_3_login]。

 

接下來到100.2建立100.3的鏡像作業的帳號[HOST_3_login]。

 

最後到100.3建立100.1的鏡像作業的帳號[HOST_1_login]及100.2的鏡像作業的帳號[HOST_2_login]。上述建帳號的步驟中須比較注意的是這些鏡像用帳號需對應憑證及擁有Endpoint的Connection權限

 

下圖表列我們剛剛建立的帳號100.1及100.2上建了[HOST_3_login]這一個帳號,而100.3上建立了[HOST_1_login]及[HOST_2_login]兩個帳號。

 

在100.1中我們建立資料庫[mirr1],簡單建立資料表後我們備份資料庫及交易紀錄檔。

 

在100.2中我們建立資料庫[mirr2],簡單建立資料表後我們備份資料庫及交易紀錄檔。

 

我們將100.1及100.2的[mirr1]及[mirr2]資料庫備份檔複製到100.3的主機上。

 

我們將[mirr1]及[mirr2]還原在100.3的資料庫主機上,記得要還原成NoRecovery模式。

 

下圖中我們可以看見100.3的[mirr1]及[mirr2]資料庫顯示正在還原中。

 

我們在100.3上設定[mirr1]及[mirr2]資料庫的鏡像夥伴路徑是100.1及100.2的5022 Port。

 

下圖是在100.1上設定[mirr1]的副本路徑是在100.3上,且鏡像模式設為同步模式

 

下圖是在100.2上設定[mirr2]的副本路徑是在100.3上,且鏡像模式設為同步模式。

 

 

當100.1及100.2完成設定後,我們可以看見100.3上的資料庫狀態由 [正在還原] 改為 [鏡像……]

 

打開鏡像監視器可以看見都是亮綠燈,顯示同步狀態正常。

上述簡單實驗後我們可以知道鏡像是可以多台主要mirroring到同一台副本主機。

我是ROCK

rockchang@mails.fju.edu.tw