第三文 配置SQL Server鏡像——域環境

原文出處:http://blog.csdn.net/dba_huangzj/article/details/28904503

本文將演示如何在域環境下部署鏡像,在域中部署相對來說簡單很多,但是很多企業並不真正使用域來管理服務器(本人所在的公司就是其一),所以有必要演示非域環境,並且重點放在非域環境下。但是作爲實踐經驗和最佳建議,強烈使用域環境管理。非域環境將在第四文中演示:http://blog.csdn.net/dba_huangzj/article/details/27652857 。本文只關注域環境下的搭建。

無論使用哪種方式,都可以分成兩部分,第一部分是準備工作,第二部分是實施工作

準備工作:

 

除了OS級別的配置之外,還有下面的步驟需要提前操作:

 

1. 設置數據庫的恢復模式,鏡像需要數據庫的恢復模式爲完整模式,可以使用下面語句修改:

 

ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL;

 

2. 檢查數據庫的兼容級別是否爲90或以上,即是否爲2005或以上的SQL Server,如果不是,可以使用下面腳本修改:

 

  1. ALTER DATABASE AdventureWorks2008R2 SET COMPATIBILITY_LEVEL=100--2008
  2. SP_DBCMPTLEVEL @DBNAME=’’,@NEW_CMPTLEVEL=90 --2005


 

3. 配置所有所需的登錄帳號,主體和鏡像都要,可以使用下面方式:

 

1. SSIS傳輸登錄

2. 生成腳本方式

3. 手動同步

4. 配置外部資源,比如SSIS包、維護計劃,共享文件等。

 

安裝前配置:

 

1. 禁用服務器上的完整備份和日誌備份作業。

2. 執行完整備份,並把備份文件複製到鏡像服務器

3. 使用NORECOVERY還原備份到鏡像服務器,

4. 執行日誌備份並複製到鏡像服務器,同樣以NORECOVERY還原日誌

 

如果沒有使用NORECOVERY,配置過程會報錯,需要重新還原,所以這一點非常重要。

 

域環境下配置鏡像:

 

環境:虛擬機使用hyper-v,安裝了簡單的域環境(這部分不屬於演示範疇,讀者可以自行查找相關資料),OS均爲Windows Server 2008R2 x64。

SQL Server 2008R2 x64 企業版。創建一個域帳號 MirrorAdmin,密碼爲Pa$$w0rd (其中的0爲數字不是字母o)。

 

DC上的IP:

 

clip_image001

 

SQL-A的IP:

 

clip_image002

SQL-B的IP:

 

clip_image003

 

添加域用戶到SQL Server中:

 

先用域管理員或者安裝時添加的Windows賬號或者用sa登錄:

 

clip_image005

 

然後添加新建的域賬號到SQL Server中:

clip_image006

添加Windows賬號:

 

clip_image008

添加SQL Server服務器角色,爲了演示方便,這裏選擇sysadmin角色:

 

clip_image010

 

添加成功後,以這個加進去的Windows賬號登錄Windows,然後以Windows 身份驗證登錄SQL Server:

 

clip_image011

 

開始搭建:

 

下面開始使用微軟示例數據庫AdventureWorks2008R2作爲演示:

 

clip_image012

文件存放在本地C:\DB\

 

 

clip_image014

 

首先根據前面的準備工作把庫的恢復模式、完整備份等操作先做完,完整備份我們先新建一個共享文件夾存放,供傳輸到鏡像服務器也就是本文中的SQL-B使用,注意選擇【NORECOVERY】恢復狀態,如圖:

 

clip_image016

還原後在鏡像數據庫中可以看到如圖:

 

clip_image017

 

現在回到主體服務器,打開鏡像選項:

 

clip_image019

選擇【配置安全性】:

 

clip_image021

 

這裏先不搭建見證服務器,所以選擇【否】:

clip_image023

 

這一步如果不需要改動其他信息,可以直接點【下一步】:

clip_image025

選擇【鏡像服務器】:

clip_image027

如果發現連不上鏡像服務器,比如下面的報錯:

 

clip_image029

 

可以選擇關閉防火牆,或者開啓5022等所需端口,直到能連上爲止:

 

clip_image031

選擇【服務賬號】:

clip_image033

 

完成配置:

clip_image035

 

 

 

clip_image037

 

完成配置之後,界面會馬上彈出是否需要【開始鏡像】,如果一切準備好了,並且的確需要開啓,就點擊【開始鏡像】:

 

clip_image039

 

成功開始鏡像過程之後,可以看到如下截圖,證明搭建已經完畢,可以使用紅框部分的【故障轉移】進行Failover,把主體數據庫的活動會話轉到鏡像數據庫上:

 

clip_image041

 

搭建完畢之後,檢查兩個服務器的數據庫狀態:

 

clip_image042

下面測試一下故障轉移(Failover):

clip_image044

 

再刷新兩臺服務器的數據庫,可見下面狀態:

 

clip_image045

 

SQL Server鏡像功能提供了一個【數據庫鏡像監視器】,可以在下圖中的地方打開,這個工具在監控鏡像時很有用,如何使用這個工具將在後面的文章中介紹:

clip_image046

打開之後,可以檢查鏡像環境的一些信息:

clip_image048

 

除了進行故障轉移,還可以下切換運行模式 :

clip_image050

首先檢查原有的運行模式:

clip_image052

可見目前是高安全性模式(Safety爲FULL)。

然後進行模式轉換,再檢查狀態:

clip_image054

 

可見目前已經是高性能模式(Safety爲OFF)。

 

添加見證服務器:

clip_image055

 

這裏需要選擇【是】:

clip_image057

 

然後點下一步:

 

clip_image059

 

在主體服務器中連接見證服務器,也就是本文的【SQL-CORE】實例:

clip_image061

 

指定鏡像環境中的賬號,由於在域環境中,所以可以使用同一個域賬號:

 

clip_image063

 

搭建完畢後可以看到下面的截圖:

 

clip_image065

 

我們可以通過停止主體服務器(SQL-A)的服務進行檢驗:

 

clip_image066

 

可見主體數據庫已經切換到原鏡像服務器(SQL-B)中:

 

clip_image067

 

重新啓動SQL-A,然後再停止SQL-B的服務:

 

clip_image068

 

可見主體庫又回到了SQL-A中:

clip_image069

至此,域環境下的鏡像搭建演示已經完畢。

 

SQL Server鏡像有一個重要補丁,這個補丁主要是修復2005的鏡像環境中日誌問題,對2008不需要處理:http://support.microsoft.com/kb/947462。當你在搭建和使用2005的鏡像功能時,如果報錯:當您啓動數據庫鏡像會話,SQL Server 2005 中錯誤消息:"與遠程服務器實例的通信TCP: / / < 計算機名>:< 端口號> 數據庫鏡像尚未完全啓動之前發生故障"。則意味着你需要使用這個補丁修復。

搭建鏡像,特別在域環境中其實非常簡單,本系列把重點放在自動化部署、監控和優化過程中,所以不會做過多的部署演示。

下文是對非域環境的搭建:http://blog.csdn.net/dba_huangzj/article/details/27652857

發佈了3 篇原創文章 · 獲贊 3 · 訪問量 1858
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章