1. 程式人生 > >第三篇——第二部分——第三文 配置SQL Server映象——域環境

第三篇——第二部分——第三文 配置SQL Server映象——域環境

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

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

準備工作:

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

1. 設定資料庫的恢復模式,映象需要資料庫的恢復模式為完整模式,可以使用下面語句修改:

ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL;

 

2. 檢查資料庫的相容級別是否為90或以上,即是否為2005或以上的SQL Server,如果不是,可以使用下面指令碼修改:

ALTER DATABASE AdventureWorks2008R2 SET COMPATIBILITY_LEVEL=100;--2008
 
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: / / < 計算機名>:< 埠號> 資料庫映象尚未完全啟動之前發生故障"。則意味著你需要使用這個補丁修復。

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