標籤:
原文: 第三篇——第二部分——第三文 配置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,如果不是,可以使用下面指令碼修改:
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:
SQL-A的IP:
SQL-B的IP:
添加域使用者到SQL Server中:
先用網域系統管理員或者安裝時添加的Windows帳號或者用sa登入:
然後添加建立的域帳號到SQL Server中:
添加Windows帳號:
添加SQL Server伺服器角色,為了示範方便,這裡選擇sysadmin角色:
添加成功後,以這個加進去的Windows帳號登入Windows,然後以Windows 身分識別驗證登入SQL Server:
開始搭建:
下面開始使用微軟樣本資料庫AdventureWorks2008R2作為示範:
檔案存放在本地C:\DB\
首先根據前面的準備工作把庫的復原模式、完整備份等操作先做完,完整備份我們先建立一個共用資料夾存放,供傳輸到鏡像伺服器也就是本文中的SQL-B使用,注意選擇【NORECOVERY】恢複狀態,
還原後在鏡像資料庫中可以看到
現在回到主體伺服器,開啟鏡像選項:
選擇【配置安全性】:
這裡先不搭建見證伺服器,所以選擇【否】:
這一步如果不需要改動其他資訊,可以直接點【下一步】:
選擇【鏡像伺服器】:
如果發現連不上鏡像伺服器,比如下面的報錯:
可以選擇關閉防火牆,或者開啟5022等所需連接埠,直到能連上為止:
選擇【服務帳號】:
完成配置:
完成配置之後,介面會馬上彈出是否需要【開始鏡像】,如果一切準備好了,並且的確需要開啟,就點擊【開始鏡像】:
成功開始鏡像過程之後,可以看到如下,證明搭建已經完畢,可以使用紅框部分的【容錯移轉】進行Failover,把主體資料庫的活動會話轉到鏡像資料庫上:
搭建完畢之後,檢查兩個伺服器的資料庫狀態:
下面測試一下容錯移轉(Failover):
再重新整理兩台伺服器的資料庫,可見下面狀態:
SQL Server鏡像功能提供了一個【資料庫鏡像監視器】,可以在中的地方開啟,這個工具在監控鏡像時很有用,如何使用這個工具將在後面的文章中介紹:
開啟之後,可以檢查鏡像環境的一些資訊:
除了進行容錯移轉,還可以下切換運行模式 :
首先檢查原有的運行模式:
可見目前是高安全性模式(Safety為FULL)。
然後進行模式轉換,再檢查狀態:
可見目前已經是高效能模式(Safety為OFF)。
添加見證伺服器:
這裡需要選擇【是】:
然後點下一步:
在主體伺服器中串連見證伺服器,也就是本文的【SQL-CORE】執行個體:
指定鏡像環境中的帳號,由於在域環境中,所以可以使用同一個域帳號:
搭建完畢後可以看到下面的:
我們可以通過停止主體伺服器(SQL-A)的服務進行檢驗:
可見主體資料庫已經切換到原鏡像伺服器(SQL-B)中:
重新啟動SQL-A,然後再停止SQL-B的服務:
可見主體庫又回到了SQL-A中:
至此,域環境下的鏡像搭建示範已經完畢。
SQL Server鏡像有一個重要補丁,這個補丁主要是修複2005的鏡像環境中日誌問題,對2008不需要處理:http://support.microsoft.com/kb/947462。當你在搭建和使用2005的鏡像功能時,如果報錯:當您啟動資料庫鏡像會話,SQL Server 2005 中錯誤訊息:"與遠程伺服器執行個體的通訊TCP: / / < 電腦名稱>:< 連接埠號碼> 資料庫鏡像尚未完全啟動之前發生故障"。則意味著你需要使用這個補丁修複。
搭建鏡像,特別在域環境中其實非常簡單,本系列把重點放在自動化部署、監控和最佳化過程中,所以不會做過多的部署示範。
下文是對非域環境的搭建:http://blog.csdn.net/dba_huangzj/article/details/27652857
第三篇——第二部分——第三文 配置SQL Server鏡像——域環境