天天看點

SQLServer 資料庫鏡像+複制切換方案

目标:

      主機做了Mirror和Replication,當主機出現問題時,Replication和Mirror實作自動的故障轉移(Mirror 和Replication都切換到備機,而當主機

       重新啟動後,自動充當備機的角色)。

環境:

          五台虛拟機,配置均為Windows2008 Enterprise + SQLServer2008R2 Enterprise

          08R201:Mirror 見證機(WITNESS)           IP:192.168.56.101

          08R202:主機(Rep+Mirror)                  IP:192.168.56.102

          08R203:Rep分發機                               IP:192.168.56.103

          08R204:Rep訂閱機                               IP:192.168.56.104

          08R205:鏡像機(Mirror)                       IP:192.168.56.105

步驟:

配置有見證伺服器的鏡像

建立證書和Endpoint

     08R202(Master) 上運作下面的腳本:

      08R205(Mirror) 上運作下面的腳本:

      08R201(WITNESS) 上運作下面的腳本:

交換證書

     将HOST_B_cert.cer和HOST_W_cert.cer拷貝到 08R202 機器的”D:\Cert“目錄;

     将HOST_A_cert.cer和HOST_W_cert.cer拷貝到 08R205 機器的”D:\Cert“目錄;

     将HOST_A_cert.cer和HOST_B_cert.cer拷貝到 08R201 機器的”D:\Cert“目錄;

     08R205(Mirror) 上運作下面的腳本:

     08R201(WITNESS) 上運作下面的腳本:

備份還原資料庫

     08R202(Master) 上備份資料庫:

     将備份檔案拷貝到 08R205(Mirror) 上做還原(最好以SA帳号登入,使得資料庫所有者為”SA“):

建立鏡像

      在08R205(Mirror) 上執行:

     在 08R202(Master)上執行:

     到此,鏡像已經建立完成。

配置Replication(事務型複制)

     Replicaiton不做具體的搭建過程,隻做幾點說明:

     1.  08R202和08R205都需要搭建到08R203的Distribution;

SQLServer 資料庫鏡像+複制切換方案

     2.  08R202和08R205上的釋出庫的所有者必須為“SA”,否則切換會出現如下錯誤:The process could not execute 'sp_replcmds' on 'WIN-08R205'.

     3.  08R203分發機上配置檔案需要做如下修改(配置故障轉移Partner):

       修改完成後,記得重新開機Agent服務,使之生效。

      4.  從08R202建立到08R204的同步鍊。

模拟故障轉移并觀察結果

     1.  暫停08R202的SQLServer服務;

     2.  到08R205上觀察鏡像和同步鍊是否轉移過去了;

SQLServer 資料庫鏡像+複制切換方案

      3.  如果同步鍊正常,修改某個表中的資料,看是否能同步到08R204上;

      4.  重新啟動08R202的SQLServer服務,看其是否成為了鏡像機;

SQLServer 資料庫鏡像+複制切換方案

       5.  如果一起都正常,那恭喜啦,我們的測試成功。