☆董紅波
(吉林省教育學院網絡信息中心,吉林長春 130022)
數據庫鏡像是一種針對數據庫高可用性的基于軟件的解決方案。其維護著一個數據庫的兩個相同的副本,這兩個副本分別放置在不同的SQL Server數據庫實例中。同一時刻,其中一臺上的數據庫用于客戶端訪問,充當主體服務器;而另一臺則根據鏡像會話的配置和狀態,充當熱備份服務器,即“鏡像服務器角色”,這兩種角色不是絕對的。數據庫鏡像環境中,主體服務器和鏡像服務器是相互通信和協作,并雙方互補。數據庫鏡像會盡快將主體數據庫中執行的每一項操作在鏡像數據庫中重新執行。這一過程是通過將活動事務日志記錄以流形式發送到鏡像服務器來完成,可以盡快將日志記錄按順序應用到鏡像數據庫中。而且數據庫鏡像是在物理日志記錄級別執行這一“重做”操作的。其過程如圖1所示。

圖1 數據庫鏡像配置流程圖
沒有域環境、或者不在一個可信的域中sql serv?er2008 R2數據庫鏡像的創建,必須用證書創建才能成功,應該使用腳本進行配置,配置如下。
部署環境:
數據庫主體172.100.101.73需要配置數據庫鏡像同步的數據庫:stand
數據庫鏡像172.100.101.80鏡像數據庫:stand
需要注意的是,數據庫必須采用完整恢復模式。創建鏡像步驟:
(1)在172.100.101.73服務器上執行下列腳本,創建主體出站證書并備份該證書。

(2)在172.100.101.80服務器上執行下列腳本,創建鏡像服務器172.100.101.80證書并進行備份。


(3)將兩個在各自硬盤上生成證書互相拷貝到對方服務器上。
(4)配置主體入站登錄名、用戶、證書添加等操作。
有四種類型的登錄名:SQL Server登錄名、Win?dows登錄名、證書映射登錄名和非對稱密鑰映射登錄名。

(5)配置鏡像入站登錄名、用戶、證書添加等操作。

(6)備份主數據庫。需要注意的是,需要備份兩次:一次是數據庫備份,備份類型選擇完整;一次是數據庫日志備份,備份類型選擇事務日志。
也可以采用下列命令行形式來創建備份。

(7)將備份文件和備份日志文件拷貝到鏡像服務器,并進行還原。如果采用可視化還原,則需要還原兩次,一次還原數據備份,一次還原日志備份,恢復狀態選擇第2項,restore with NlRecovery。
也可以采用命令行還原,執行如下腳本:

(8)配置鏡像。
先在鏡像數據庫服務器執行腳本:

然后在主數據庫服務器執行腳本:

(9)鏡像建立完畢,主服務器和鏡像服務器分別刷新,則看到結果。
(10)數據庫鏡像取消命令。

(11)其他切換命令。

原來的主服務器恢復,可以繼續工作,需要重新設定鏡像。


圖2 數據庫鏡像流程圖
(1)查看已有鏡像。查看之前配置過的成功和失敗的鏡像,避免創建鏡像重復無法創建,或當出現一臺服務器作為多個服務器的主體服務器或鏡像服務器時致使創建失敗甚至影響到已往的數據庫鏡像。

(2)查看已有證書。查看之前配置過的證書,避免證書授予重復。

(3)刪除鏡像操作。如已存在鏡像或存在失敗的鏡像,當需要刪除該鏡像時,則可以通過下列SQL代碼實現。

(4)刪除證書操作。如已存在證書或存在失敗的證書,當需要刪除該證書時,則可以通過下列SQL代碼實現。

(5)刪除登錄。如已存在鏡像登錄名或存在失敗的鏡像登錄名,則可以刪除該登錄名。

(6)刪除用戶。創建鏡像使用用戶重復,則需要刪除重建。

(7)刪除主key,創建鏡像時主key應重新設置。

以上步驟必須按順序實施,否則,系統報錯,主體與鏡像都要遵此操作,并改成相應值。
[1]Kalen Delaney.Micros of tSQL Server2008Internals[M].Microsoft Press,U.S,2008.
[2]Lynn Beighley.Head First SQL:Your Brain on SQL——A Learner's Guide[M].O'Reilly Media,U.S,2007.
[3]Paul Nielsen,Uttam Parui.Microsoft SQL Server 2008 Bible[M].Wiley,U.S,2009.
[4]Tom Carpenter.SQL Server 2008 Administration[M].John Wiley,U.S,2010.
[5]Mike Chapple.Microsoft SQL Server 2008 For Dummies[M].John Wiley,U.S,2008.
[6]Rod Colledge.SQL Server 2008 Administration in Action[M].Manning Publications,U.S,2009.
[7]Tyler Graham,Suzanne Selhorn.Microsoft SQL Server 2008 R2 Master Data Services[M].Mcgraw-Hill,U.S,2011.
[8]Art Tennick.Practical SQL Queries for Microsoft SQL Server 2008 R2[M].McGraw-Hill Osborne Media,U.S,2010.
[9]William R.Stanek.Microsoft SQL Server 2008Administrator's Pocket Consultant 2 nd Edition[M].MICROSOFT PRESS,U.S,2010.
[10]Brian Knight,Erik Veerman,Grant Dickinson.Professional Microsoft SQL Server 2008 Integration Services[M].Wrox,U.S,2008.