仝虎,張剛
(1.南京旅游職業(yè)學(xué)院電教中心,南京 211100;2.焦作師范高等??茖W(xué)校信息工程系,焦作 454000)
SQL Server數(shù)據(jù)庫(kù)自動(dòng)異地備份方案分析與探討
仝虎1,張剛2
(1.南京旅游職業(yè)學(xué)院電教中心,南京 211100;2.焦作師范高等??茖W(xué)校信息工程系,焦作 454000)
數(shù)據(jù)庫(kù)是應(yīng)用系統(tǒng)的心臟,對(duì)于很多企事業(yè)單位來說,數(shù)據(jù)無價(jià),所以數(shù)據(jù)庫(kù)備份十分重要,但又經(jīng)常做得不好。以SQL Server 2008 R2數(shù)據(jù)庫(kù)為例,介紹并分析各種自動(dòng)異地備份方案和具體實(shí)現(xiàn)方法,并指出各類方案方法的優(yōu)劣,以便讀者在工作中自行選擇和取舍。
數(shù)據(jù)庫(kù);SQL Server;異地備份;自動(dòng)化
近年來,以數(shù)據(jù)庫(kù)為核心的計(jì)算機(jī)管理信息系統(tǒng)的普及,使現(xiàn)代企事業(yè)單位的工作效率大大提高,但同時(shí)也增加了現(xiàn)代企事業(yè)單位對(duì)計(jì)算機(jī)軟硬件的依賴。數(shù)據(jù)無價(jià),單位的業(yè)務(wù)數(shù)據(jù)大都存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器上。各類基于數(shù)據(jù)庫(kù)的管理信息系統(tǒng),都要考慮數(shù)據(jù)庫(kù)的安全問題,要想保障數(shù)據(jù)庫(kù)的安全,最主要的方法就是做好數(shù)據(jù)庫(kù)的備份工作,不但要做好手工備份,更要做好自動(dòng)備份;不但要做好本地備份,更要做好異地備份。以防工作服務(wù)器出現(xiàn)災(zāi)難性的硬件故障,未雨綢繆,提前做好應(yīng)對(duì)措施。本文介紹了SQL Server數(shù)據(jù)庫(kù)各種自動(dòng)異地備份方案和具體實(shí)現(xiàn)方法,并對(duì)各類方案方法做了簡(jiǎn)單分析與比較。
測(cè)試環(huán)境如下:
工作服務(wù)器A(主機(jī)),IP地址:10.0.0.1;異地服務(wù)器B(備用機(jī)),IP地址:10.0.0.2。
操作系統(tǒng):Windows 2008 R2。
數(shù)據(jù)庫(kù):SQL Server 2008 R2。數(shù)據(jù)庫(kù)名:test_db。
自動(dòng)本地備份是自動(dòng)異地備份的基礎(chǔ),這里先介紹一下如何利用SQL Server作業(yè)實(shí)現(xiàn)本地定時(shí)自動(dòng)備份數(shù)據(jù)庫(kù),每天備份的文件以日期時(shí)間命名,存放在工作服務(wù)器A(10.0.0.1)的文件夾E:DB_BK。具體操作步驟如下:
①打開SQL Server Management Studio
②啟動(dòng)SQL Server代理,圖示。
③點(diǎn)擊作業(yè)-〉新建作業(yè),在“常規(guī)”中輸入作業(yè)的名稱test_db_fullbk_job
④點(diǎn)擊步驟,點(diǎn)擊新建按鈕,新建步驟,輸入名稱test_db_fullbk_bz;類型選T-SQL,數(shù)據(jù)庫(kù)選擇master,在命令的空白處輸入下面語句,然后點(diǎn)擊確定,返回。
⑤點(diǎn)擊計(jì)劃,點(diǎn)擊新建按鈕,添加計(jì)劃,輸入名稱test_db_fullbk_plan,設(shè)置好執(zhí)行頻率和具體觸發(fā)時(shí)間等。
⑥點(diǎn)擊確定,完成。完成后,可以選中該作業(yè),然后右鍵,選中“作業(yè)開始步驟”,測(cè)試一下該作業(yè)是否成功執(zhí)行。若成功會(huì)出現(xiàn)如圖2界面。
目前自動(dòng)異地備份方案主要有兩種,方案一:直接把數(shù)據(jù)庫(kù)定時(shí)自動(dòng)備份至異地,然后做壓縮文件、定期清除歷史文件等后續(xù)工作。方案二:先把數(shù)據(jù)庫(kù)定時(shí)自動(dòng)備份至本地,再定時(shí)壓縮文件,然后傳送至異地服務(wù)器,最后做定期的清理工作。方案一對(duì)網(wǎng)絡(luò)速度和穩(wěn)定性要求很高,一旦備份過程中網(wǎng)絡(luò)信號(hào)差或者網(wǎng)絡(luò)中斷,則備份就無法完成;方案二比方案一更好一些,因?yàn)橄劝褌浞菸募旁诒镜厝缓笤賯魉椭廉惖兀愿`活,對(duì)網(wǎng)速和穩(wěn)定性要求也沒那么嚴(yán)格。兩種方案又細(xì)分為幾種不同的實(shí)現(xiàn)方法,下面對(duì)這兩種方案及具體實(shí)現(xiàn)方法進(jìn)行介紹和分析。
圖1 SQL Server代理服務(wù)
圖2 作業(yè)執(zhí)行
(1)方案一:直接備份至異地
直接把數(shù)據(jù)庫(kù)備份至異地服務(wù)器的主要方法有4種:
①通過映射網(wǎng)絡(luò)盤和執(zhí)行cmdshell命令實(shí)現(xiàn)。
具體過程與前文提到的自動(dòng)本地備份相同,只是將第4步的T-SQL語句換成如下內(nèi)容:
②利用域用戶登錄的方式實(shí)現(xiàn)。
該實(shí)現(xiàn)方法的思路來源于SQL Server服務(wù)帳號(hào)模式和安全機(jī)制。具體做法是,首先在備用機(jī)(10.0.0.2)中建立一個(gè)與主機(jī)(10.0.0.1)啟動(dòng)SQL Server服務(wù)的域用戶帳號(hào)同名帳號(hào),且密碼保持相同,例如都用administrator,密碼相同;然后在備用機(jī)中建立一個(gè)共享文件夾DB_BK,設(shè)置合適權(quán)限;最后在主機(jī)中創(chuàng)建數(shù)據(jù)庫(kù)維護(hù)計(jì)劃,備份時(shí)使用共享文件夾的UNC路徑(\10.0.0.1DB_BK)即可。
③利用SQL Server的導(dǎo)入導(dǎo)出功能(DTS)實(shí)現(xiàn)。
在服務(wù)器B(備用機(jī))上安裝與服務(wù)器A(主機(jī))相同的操作系統(tǒng)與SQL Server,然后利用SQL Server的導(dǎo)入導(dǎo)出功能。具體做法是,從主機(jī)的Enterprise Manager中添加注冊(cè)目標(biāo)數(shù)據(jù)庫(kù),然后任務(wù)→導(dǎo)出功能,在DTS wizard中選好源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù),選中源數(shù)據(jù)庫(kù)中所有對(duì)象,并記得配置每個(gè)表的transform項(xiàng)為“清空目標(biāo)表”,有自增長(zhǎng)字段的話要選“允許添加自增長(zhǎng)字段”,接下來要選定期執(zhí)行并選好計(jì)劃,保存。
④利用鏈接服務(wù)器,寫存儲(chǔ)過程實(shí)現(xiàn)。
這種方法類似于方法3,只是把數(shù)據(jù)庫(kù)中所有對(duì)象的導(dǎo)入導(dǎo)出操作用T-SQL語句實(shí)現(xiàn),寫成一個(gè)或幾個(gè)存儲(chǔ)過程,然后創(chuàng)建作業(yè),定時(shí)執(zhí)行存儲(chǔ)過程。
四種方法各有優(yōu)劣。單就數(shù)據(jù)庫(kù)備份而言,方法1和方法2較為常用;方法3常用來把數(shù)據(jù)庫(kù)中某些表中數(shù)據(jù)的導(dǎo)入導(dǎo)出和轉(zhuǎn)換,若是數(shù)據(jù)庫(kù)很大,用這種方法備份數(shù)據(jù)庫(kù)將會(huì)耗時(shí)很久;方法4則常用于跨數(shù)據(jù)庫(kù)查詢。
(2)方案二:先備份至本地,后傳送至異地
這種方案的思路是:考慮到網(wǎng)絡(luò)傳送的速度限制與不確定性,所以先把數(shù)據(jù)庫(kù)定時(shí)自動(dòng)備份至本地,再定時(shí)壓縮文件,然后傳送至異地服務(wù)器,最后做定期的清理工作。具體實(shí)現(xiàn)步驟如下:
①自動(dòng)本地備份。
②定時(shí)自動(dòng)壓縮。
利用批處理命令和Windows任務(wù)計(jì)劃實(shí)現(xiàn)。具體做法分兩個(gè)階段。
第一階段:先安裝WinRAR軟件,然后新建一個(gè)批處理文件test_db_rar.bat,編輯該文件,寫入如下命令代碼,寫好后保存。
第二階段:打開Windows系統(tǒng)管理工具中的任務(wù)計(jì)劃程序,創(chuàng)建基本任務(wù),把test_db_rar.bat加入進(jìn)去,然后設(shè)置好執(zhí)行頻次和觸發(fā)時(shí)間即可。
③傳送至異地。
傳送壓縮后的備份文件至備用機(jī)(10.0.0.2),具體做法分為三種:(1)建立批處理文件,利用xcopy命令實(shí)現(xiàn)文件傳送,然后添加Windows計(jì)劃任務(wù)定時(shí)執(zhí)行。(2)建立批處理文件,利用ftp命令實(shí)現(xiàn),然后添加Windows計(jì)劃任務(wù)定時(shí)執(zhí)行。(3)利用文件同步備份工具實(shí)現(xiàn),比較好的有SecondCopy、FreeFileSync等。
三種傳送文件的方法各有利弊:xcopy命令、ftp命令速度快,易控制,但需要了解命令的具體用法和命令附帶的各類參數(shù)的定義,還需要了解Windows任務(wù)計(jì)劃的操作方法,需要讀者有一定的耐心和細(xì)心;SecondCopy等軟件簡(jiǎn)單直觀,易于實(shí)現(xiàn),但不如前兩種靈活。
本文對(duì)SQL Server數(shù)據(jù)庫(kù)自動(dòng)異地備份方案和具體實(shí)現(xiàn)方法進(jìn)行了探討和分析,使讀者對(duì)SQL Server數(shù)據(jù)庫(kù)的自動(dòng)異地備份策略有了宏觀的了解和認(rèn)識(shí),讀者可以從各自的實(shí)際情況出發(fā),根據(jù)本單位軟硬件設(shè)備、網(wǎng)絡(luò)環(huán)境和生產(chǎn)系統(tǒng)合理的選擇異地備份方案和方法,未雨綢繆,做好數(shù)據(jù)庫(kù)的備份工作。
[1] Chris Leiter,Dan Wood等著.SQL Server 2008 DBA入門經(jīng)典[M].張德群等譯.北京:清華大學(xué)出版社,2010
[2] 張景輝,侯建海,秦洋.一種實(shí)現(xiàn)SQL Server數(shù)據(jù)庫(kù)的備份和恢復(fù)的方法[J].微計(jì)算機(jī)應(yīng)用,2005,26:228~230
[3] 吳彥,張冬.SQL Server自動(dòng)異地備份的研究與應(yīng)用[J].電腦知識(shí)與技術(shù),2009,5(33):9617~9619
[4] 劉明軍,王正凱.通過局域網(wǎng)實(shí)現(xiàn)異地自動(dòng)備份HIS數(shù)據(jù)庫(kù)的方法[J].醫(yī)療裝備,2011,11:30~31
[5] 謝搶來,余麗娜等.SQL Server數(shù)據(jù)庫(kù)異地備份的研究與實(shí)現(xiàn)[J].科技廣場(chǎng),2009,1:89~91
[6] 于澤德.基于SQL Server的財(cái)務(wù)管理系統(tǒng)的自動(dòng)化異地備份[J].電腦知識(shí)與技術(shù),2008,3:798~799
[7] 陳宇慶.SQL 2005數(shù)據(jù)庫(kù)異地備份方法探討[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2012,22(20):114~115
Analysis and Discussion on Automatic Remote Backup Methods for SQL Server Database
TONG Hu1,ZHANG Gang2
(1.Audio-visual Center,Nanjing Institute of Tourism and Hospitality,Nanjing 211100;2.Department of Information Engineering,Jiaozuo Teachers College,Jiaozuo 454000)
Database is the heart of application system.Database backup is very important because data is priceless for many enterprises and institutions,while it is not often well done.Takes the SQL Server 2008 R2 database as an example,introduces and analyzes the various methods and concrete steps of automatic remote backup database,gives the comparison of various solution methods,through which readers can choose one and trade-offs it at work.
Database;SQL Server;Remote Backup;Automatic
1007-1423(2015)01-0019-04
10.3969/j.issn.1007-1423.2015.01.005
仝虎(1979-),男,河南修武人,工程師,工學(xué)碩士,研究方向?yàn)閿?shù)據(jù)庫(kù)與數(shù)據(jù)挖掘
張剛(1978-),男,河南修武人,碩士,講師,研究方向?yàn)榈乩硇畔⑾到y(tǒng)應(yīng)用與開發(fā)
2014-11-27
2014-12-15