☆董紅波
(吉林省教育學(xué)院網(wǎng)絡(luò)信息中心,吉林長(zhǎng)春 130022)
數(shù)據(jù)庫(kù)鏡像是一種針對(duì)數(shù)據(jù)庫(kù)高可用性的基于軟件的解決方案。其維護(hù)著一個(gè)數(shù)據(jù)庫(kù)的兩個(gè)相同的副本,這兩個(gè)副本分別放置在不同的SQL Server數(shù)據(jù)庫(kù)實(shí)例中。同一時(shí)刻,其中一臺(tái)上的數(shù)據(jù)庫(kù)用于客戶(hù)端訪(fǎng)問(wèn),充當(dāng)主體服務(wù)器;而另一臺(tái)則根據(jù)鏡像會(huì)話(huà)的配置和狀態(tài),充當(dāng)熱備份服務(wù)器,即“鏡像服務(wù)器角色”,這兩種角色不是絕對(duì)的。數(shù)據(jù)庫(kù)鏡像環(huán)境中,主體服務(wù)器和鏡像服務(wù)器是相互通信和協(xié)作,并雙方互補(bǔ)。數(shù)據(jù)庫(kù)鏡像會(huì)盡快將主體數(shù)據(jù)庫(kù)中執(zhí)行的每一項(xiàng)操作在鏡像數(shù)據(jù)庫(kù)中重新執(zhí)行。這一過(guò)程是通過(guò)將活動(dòng)事務(wù)日志記錄以流形式發(fā)送到鏡像服務(wù)器來(lái)完成,可以盡快將日志記錄按順序應(yīng)用到鏡像數(shù)據(jù)庫(kù)中。而且數(shù)據(jù)庫(kù)鏡像是在物理日志記錄級(jí)別執(zhí)行這一“重做”操作的。其過(guò)程如圖1所示。
圖1 數(shù)據(jù)庫(kù)鏡像配置流程圖
沒(méi)有域環(huán)境、或者不在一個(gè)可信的域中sql serv?er2008 R2數(shù)據(jù)庫(kù)鏡像的創(chuàng)建,必須用證書(shū)創(chuàng)建才能成功,應(yīng)該使用腳本進(jìn)行配置,配置如下。
部署環(huán)境:
數(shù)據(jù)庫(kù)主體172.100.101.73需要配置數(shù)據(jù)庫(kù)鏡像同步的數(shù)據(jù)庫(kù):stand
數(shù)據(jù)庫(kù)鏡像172.100.101.80鏡像數(shù)據(jù)庫(kù):stand
需要注意的是,數(shù)據(jù)庫(kù)必須采用完整恢復(fù)模式。創(chuàng)建鏡像步驟:
(1)在172.100.101.73服務(wù)器上執(zhí)行下列腳本,創(chuàng)建主體出站證書(shū)并備份該證書(shū)。
(2)在172.100.101.80服務(wù)器上執(zhí)行下列腳本,創(chuàng)建鏡像服務(wù)器172.100.101.80證書(shū)并進(jìn)行備份。
(3)將兩個(gè)在各自硬盤(pán)上生成證書(shū)互相拷貝到對(duì)方服務(wù)器上。
(4)配置主體入站登錄名、用戶(hù)、證書(shū)添加等操作。
有四種類(lèi)型的登錄名:SQL Server登錄名、Win?dows登錄名、證書(shū)映射登錄名和非對(duì)稱(chēng)密鑰映射登錄名。
(5)配置鏡像入站登錄名、用戶(hù)、證書(shū)添加等操作。
(6)備份主數(shù)據(jù)庫(kù)。需要注意的是,需要備份兩次:一次是數(shù)據(jù)庫(kù)備份,備份類(lèi)型選擇完整;一次是數(shù)據(jù)庫(kù)日志備份,備份類(lèi)型選擇事務(wù)日志。
也可以采用下列命令行形式來(lái)創(chuàng)建備份。
(7)將備份文件和備份日志文件拷貝到鏡像服務(wù)器,并進(jìn)行還原。如果采用可視化還原,則需要還原兩次,一次還原數(shù)據(jù)備份,一次還原日志備份,恢復(fù)狀態(tài)選擇第2項(xiàng),restore with NlRecovery。
也可以采用命令行還原,執(zhí)行如下腳本:
(8)配置鏡像。
先在鏡像數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行腳本:
然后在主數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行腳本:
(9)鏡像建立完畢,主服務(wù)器和鏡像服務(wù)器分別刷新,則看到結(jié)果。
(10)數(shù)據(jù)庫(kù)鏡像取消命令。
(11)其他切換命令。
原來(lái)的主服務(wù)器恢復(fù),可以繼續(xù)工作,需要重新設(shè)定鏡像。
圖2 數(shù)據(jù)庫(kù)鏡像流程圖
(1)查看已有鏡像。查看之前配置過(guò)的成功和失敗的鏡像,避免創(chuàng)建鏡像重復(fù)無(wú)法創(chuàng)建,或當(dāng)出現(xiàn)一臺(tái)服務(wù)器作為多個(gè)服務(wù)器的主體服務(wù)器或鏡像服務(wù)器時(shí)致使創(chuàng)建失敗甚至影響到已往的數(shù)據(jù)庫(kù)鏡像。
(2)查看已有證書(shū)。查看之前配置過(guò)的證書(shū),避免證書(shū)授予重復(fù)。
(3)刪除鏡像操作。如已存在鏡像或存在失敗的鏡像,當(dāng)需要?jiǎng)h除該鏡像時(shí),則可以通過(guò)下列SQL代碼實(shí)現(xiàn)。
(4)刪除證書(shū)操作。如已存在證書(shū)或存在失敗的證書(shū),當(dāng)需要?jiǎng)h除該證書(shū)時(shí),則可以通過(guò)下列SQL代碼實(shí)現(xiàn)。
(5)刪除登錄。如已存在鏡像登錄名或存在失敗的鏡像登錄名,則可以刪除該登錄名。
(6)刪除用戶(hù)。創(chuàng)建鏡像使用用戶(hù)重復(fù),則需要?jiǎng)h除重建。
(7)刪除主key,創(chuàng)建鏡像時(shí)主key應(yīng)重新設(shè)置。
以上步驟必須按順序?qū)嵤?,否則,系統(tǒng)報(bào)錯(cuò),主體與鏡像都要遵此操作,并改成相應(yīng)值。
[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.