向洪波
(雞西大學,黑龍江 雞西 158100)
計算機應用領域隨著當前科學技術的不斷發(fā)展而不斷擴大,人們對計算機的依賴成都不斷提高。計算機的出現(xiàn)是人類歷史的一大變革,但是計算機的廣泛應用不僅給人類社會帶來了福音,同時也不可避免地帶來了一些前所未有的問題。其中,計算機數(shù)據(jù)庫資料存儲的安全問題就是計算機的廣泛應用帶來的安全問題之一。由于計算機本身因素或者人為因素等引起計算機系統(tǒng)的故障,進而影響數(shù)據(jù)庫中數(shù)據(jù)的正常使用,給人們的生活帶來了不良的影響。
計算機數(shù)據(jù)庫備份是一種數(shù)據(jù)的保存過程,計算機所有者(管理員)將計算機數(shù)據(jù)庫中內容的部分或全部拷貝到另一個磁盤或者載體上的過程即為數(shù)據(jù)庫的備份。我們可以以后備副本命名這些拷貝的數(shù)據(jù)。如果計算機的數(shù)據(jù)庫在遇到故障(遭到破壞或者受攻擊時)時不能對其進行正常的操作處理,此時想要在對數(shù)據(jù)庫操作就是后備副本大顯身手的時候了,我們進行數(shù)據(jù)庫恢復時后備副本是必須的,但是這種恢復只能將計算機數(shù)據(jù)庫恢復到當時備份時的狀態(tài)。如果我們對數(shù)據(jù)庫恢復的要求比較高,想要得到計算機在發(fā)生故障前的數(shù)據(jù)庫狀態(tài),則需要將從數(shù)據(jù)庫備份開始至數(shù)據(jù)庫發(fā)生故障之前所有的更新數(shù)據(jù)重新運行一次才能得到目的[1]。
在正常運行計算機系統(tǒng)時,每個人都不希望自己所需要的數(shù)據(jù)丟失或者被損害,尤其是那些沒有進行備份的數(shù)據(jù) (不管丟失或者被破壞的數(shù)據(jù)是數(shù)據(jù)庫中的數(shù)據(jù)還是其他的一些編程代碼等)。一旦我們遇到計算機數(shù)據(jù)庫被損壞的情況,如果要進行數(shù)據(jù)庫的恢復工作需要花費大量的時間和精力。
數(shù)據(jù)庫備份可被分為靜態(tài)備份和動態(tài)備份兩類,各自的特點如下表所示。
表1 數(shù)據(jù)庫備份的形式及特點
一般情況下,對數(shù)據(jù)庫進行靜態(tài)備份比較簡單,但是這種備份局限性較大,只有在用戶事務完成后才能進行備份,而且也只有在數(shù)據(jù)庫備份完成后才能運行行的用戶事務,因此,這種備份方式導致數(shù)據(jù)庫的可使用性能降低。
數(shù)據(jù)庫的動態(tài)備份則沒有上述的缺點,數(shù)據(jù)庫備份可以和用戶事務并發(fā)執(zhí)行。但是,這種備份方式的局限性在于其完成備份動作后并不能確保后備副本上所有數(shù)據(jù)的正確有效性。
以一個實例加以說明:在某時刻我們對計算機數(shù)據(jù)庫進行動態(tài)備份,數(shù)據(jù)庫中的數(shù)據(jù)被拷貝到了其他磁盤上,但是在下一時刻我們又對被備份的數(shù)據(jù)進行了修改操作,因此在備份動作結束后,后備副本上所保存的數(shù)據(jù)已經(jīng)不是我們修改過的數(shù)據(jù)了[2]。所以,我們在對數(shù)據(jù)庫采用動態(tài)備份動作時,應把我們對數(shù)據(jù)庫在備份期間的所有修改動作記錄下來建立一個日志文件,此時,某一磁盤上的后備副本與建立的日志文件結合即能達到數(shù)據(jù)庫恢復到某一時刻正確狀態(tài)的目的。
在對計算機數(shù)據(jù)庫進行備份時,計算機所有者通過手工操作或者SQL Server Agent動作、在預先設定的任何一天的任何時刻均可以完成SQL Server的備份。根據(jù)數(shù)據(jù)庫備份的時間可將備份分為周期性數(shù)據(jù)庫的備份以及不定期的數(shù)據(jù)庫備份兩類。其中不定期的數(shù)據(jù)庫備份動作一般是造數(shù)用戶對數(shù)據(jù)庫做某些修改之后進行的。
2.3.1 周期性數(shù)據(jù)庫備份
計算機數(shù)據(jù)庫備份動作及耗費時間又耗費計算機資源,因此不適合進行頻繁的備份動作。在對數(shù)據(jù)庫進行數(shù)據(jù)備份時,應在詳細全面了解了數(shù)據(jù)庫的使用情況之后制定一個切合實際的備份周期[3]。由于對數(shù)據(jù)庫進行備份動作將會降低數(shù)據(jù)庫的使用性能,所以實際上的數(shù)據(jù)庫備份周期應根據(jù)所需數(shù)據(jù)的特性而定,具體見表2.
表2 備份周期與數(shù)據(jù)的關系
目前大多數(shù)計算機所有者經(jīng)常使用的數(shù)據(jù)庫備份方案為在每日、每周、每月都對數(shù)據(jù)庫進行一次備份動作。對數(shù)據(jù)庫進行的每日備份文件可以適當保存一個月左右的時間;對于每周一次的數(shù)據(jù)庫備份,其備份文件應保存較長的一段時間(比如一年左右);而每月一次的數(shù)據(jù)庫備份文件具有較高的價值,應永久保存。數(shù)據(jù)庫備份的文件其保存處應具備安全性(比如防火措施好或者距離機房較遠的保存處)。
2.3.2 數(shù)據(jù)庫不定期的備份
除了對數(shù)據(jù)庫進行周期性備份以外,在對數(shù)據(jù)庫中的某些數(shù)據(jù)進行修改動作以后也應進行不定期的數(shù)據(jù)庫備份:(a)對計算機數(shù)據(jù)庫進行創(chuàng)建、修改、刪除等動作;(b)在數(shù)據(jù)庫中創(chuàng)建了用戶自定義對象的情況;(c)對數(shù)據(jù)庫進行增加或刪除服務器的系統(tǒng)存儲動作等。在以上動作發(fā)生后應對數(shù)據(jù)庫進行不定期備份動作。
我們在運行數(shù)據(jù)庫時,一些對數(shù)據(jù)庫產(chǎn)生不良影響的故障時常發(fā)生,如惡意破壞、軟件錯誤、電源故障以及磁盤損壞等情況,均有可能破壞數(shù)據(jù)中的數(shù)據(jù)。數(shù)據(jù)庫的可恢復性為在數(shù)據(jù)庫遭到損壞時能夠依據(jù)某種途徑恢復到最近一個正確的狀的能力。
數(shù)據(jù)庫具有可恢復性的基本原則是數(shù)據(jù)庫重復存儲,能夠實現(xiàn)計算機數(shù)據(jù)庫恢復的具體方法分為以下兩種:
(1)通過轉儲和建立日志的方式實現(xiàn)數(shù)據(jù)庫的恢復。這種方法簡單說來即為對計算機數(shù)據(jù)庫進行周期性地進行復制,如一天一次,將數(shù)據(jù)庫拷貝到其他的存儲載體。
(2)在數(shù)據(jù)庫發(fā)生故障情況時,這種情況下的數(shù)據(jù)庫恢復應分兩種情況:(a)如果計算機數(shù)據(jù)庫僅僅是部分被破壞,某些數(shù)據(jù)可疑,此時只需要對日志庫實行撤銷動作,將所有對數(shù)據(jù)庫的不可靠的修改撤銷,即可把數(shù)據(jù)庫恢復到正確的狀態(tài);(b)如果數(shù)據(jù)庫遭到徹底的損壞,因為此時的計算機數(shù)據(jù)庫已經(jīng)不能正常運行,就需要將存儲后備副本的磁盤等載體裝入計算機,對日志庫實行重做動作,然后重新處理新、舊數(shù)據(jù)庫的所有更新,即可實現(xiàn)數(shù)據(jù)庫的恢復,并且不會丟失對數(shù)據(jù)庫的更新操作[4]。
計算機數(shù)據(jù)庫產(chǎn)生的故障類型具體可以分為事故故障、系統(tǒng)故障以及介質故障等。其中數(shù)據(jù)庫的又可分可以預期的事務故障以及非預期的事務故障;系統(tǒng)故障是指導致數(shù)據(jù)庫停止正常運行的故障情況;介質故障是指由存儲有數(shù)據(jù)的磁盤等載體引體的故障。
數(shù)據(jù)庫的恢復模式可以分為簡單恢復、完全恢復以及批日志恢復三類。其中的簡單數(shù)據(jù)庫恢復是指在對計算機數(shù)據(jù)庫進行恢復時對數(shù)據(jù)庫事務日志沒有涉及,而只是使用了數(shù)據(jù)庫備份;完全數(shù)據(jù)庫恢復是指在對數(shù)據(jù)庫進行恢復時使用了數(shù)據(jù)庫備份和事務日志備份的結合形式;批日志數(shù)據(jù)庫恢復的優(yōu)勢在于能夠最大程度的減少數(shù)據(jù)庫恢復時所需的存儲空間[5]。
隨著計算機技術的廣泛使用,人們對計算機的依賴程度越來越高。其中數(shù)據(jù)庫的備份和恢復技術對于人們使用數(shù)據(jù)庫的安全性具有非常重要的意義,使得人們在放心享受計算機使用的同時,而不必擔心數(shù)據(jù)的損壞和丟失。
[1]詹英.基于SQLServer的數(shù)據(jù)庫備份恢復策略[J].計算機時代,2007(12):23-24.
[2]周楊.淺析MS SQLServer數(shù)據(jù)庫恢復技術[J].中國教育信息化,2008:83-84.
[3]李輝康.應用項目數(shù)據(jù)庫應急備份與恢復方法的研究[J].西鐵科技,2008(2):13-15.
[4]于泗波,張雪英.SQLServer2000數(shù)據(jù)庫備份與恢復系統(tǒng)的設計與實現(xiàn)[J].科技情報開發(fā)與經(jīng)濟,2008(1):159-161.
[5]王新寧.醫(yī)院信息網(wǎng)絡MSSQL Server數(shù)據(jù)庫數(shù)據(jù)恢復的研究[J].中國數(shù)字醫(yī)學,2008(3):46-47.